← Back to team overview

yade-dev team mailing list archive

Re: compilation with ENABLE_LINSOLV ON

 

Some backports of new libraries for 12.04 are available on this PPA [1].
Yade's external PPA has also eigen 3.1.2 [2].

Bruno, linsolv requires FlowBoundingSphereLinSolv.hpp [3], are you able
to provide it in Yade?

Thanks,

[1] https://launchpad.net/~gladky-anton/+archive/precise-backports
[2] https://launchpad.net/~yade-users/+archive/external
[3] https://github.com/yade/trunk/blob/master/lib/triangulation/FlowBoundingSphere.hpp#L169

Anton


2013/6/26 Bruno Chareyre <bruno.chareyre@xxxxxxxxxxx>:
> Hi Christian,
>
> Now you know why the fluid model is not well packaged yet. It is a big mess
> with libraries...
> Note, however that you can use the fluid model without the linear algebra
> libraries, using the Gauss-Seidel solver implemented in Yade (in that case
> you don't need ENABLE_LINSOLV, so ok, it's not your question). GS is less
> efficient for big problems, but at least it lets you try something.
>
> Regarding your problem, you forgot the most important thing: your linux
> version.
> In ubuntu 12.10, there is much less trouble normally. All libraries can be
> used in their packaged version. However, it seems it will give occasional
> crashes of the simulations without good reason (still to be confirmed), in
> cases which are 100% stable in ubuntu 12.04.
>
> In 12.04 and below, you need to install custom versions of most of them.
> Indications are in [1], but this was a draft page prepared by Emanuele
> Catalano and I can't guarantee 100% of it. I have nothing better to suggest
> yet.
>
> A few problems I can see problems in what you did (assuming you are at 12.04
> or less):
> * Hardcoding an include path in eigen3 sources is bad practice, you can use
> compilation flags. Actually there is a deeper problem: you need to download
> and install eigen3.1, eigen3 will not work.
>
> * This symlink is not good:
>  /usr/lib >ln -s libblas/libblas.a libopenblas.a
> You are trying to replace a very optimized and parallel algebra library by a
> very slow legacy blas. It kills performance so that the Gauss-Seidel method
> without LINSOLV would be faster... Static linking is also bad.
> You need to download and compile/install openblas (or its ancestor gotoblas)
> in a custom directory. Installing the packaged version available in 12.04
> will not work, it breaks python modules by providing a different version of
> lapack.
>
> It is also necessary to compile and install a specific version of
> suitesparse, as indicated in the wiki page. The only lib that you can
> install from the package manager is libparmetis3.1.
>
> If you try and follow the wiki page, please tell me if it works or if
> something has to be modified.
> Good luck!
>
> Bruno
>
> [1] https://www.yade-dem.org/wiki/Flow_engines_on_ubuntu_12.04
>
>
>
>
> On 26/06/13 16:06, Christian Jakob wrote:
>
> Hi devs,
>
> I want to get yade compiled with ENABLE_LINSOLV ON. After some trouble (see
> attachment) I do not know how to fix this one:
>
> Linking CXX shared library lib/libsupport.so
> /usr/bin/ld:
> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libopenblas.a(dgemm.o):
> relocation R_X86_64_32 against `.rodata' can not be used when making a
> shared object; recompile with -fPIC
> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libopenblas.a: could not
> read symbols: Bad value
>
> google the problem gave me a hint, that it has to do with static vs. shared
> libraries. solution should be to add -fPIC to CXX_FLAGS, but if i look into
> CMakeLists.txt it is already there:
>
> SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -DYADE_PTR_CAST=static_pointer_cast
> -DYADE_CAST=static_cast -fPIC")
>
> and
>
> SET(CMAKE_CXX_FLAGS  "-DYADE_PTR_CAST=static_pointer_cast
> -DYADE_CAST=static_cast -Wall -fPIC -g -O2 -fstack-protector
> --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security
> -s")
>
> So, do you know a workaround for this problem?
>
> christian
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help   : https://help.launchpad.net/ListHelp
>
>
>
> --
> _______________
> Bruno Chareyre
> Associate Professor
> ENSE³ - Grenoble INP
> Lab. 3SR
> BP 53
> 38041 Grenoble cedex 9
> Tél : +33 4 56 52 86 21
> Fax : +33 4 76 82 70 43
> ________________
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help   : https://help.launchpad.net/ListHelp
>


Follow ups

References