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 <[email protected]>: > 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 : [email protected] > 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 : [email protected] > Unsubscribe : https://launchpad.net/~yade-dev > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

