On Fri, 1 Aug 2014 16:16:38 +0200
Mikael Mortensen <[email protected]> wrote:

> Hi,
> 
> I'm trying to install master version of fenics on top of a stable
> version installed by Johannes on the Abel cluster. Johannes has more
> or less everything, including dolfin, installed under
> /usit/abel/u1/johannr/nobackup/src/hashstack/default/, which is on my
> path. The stable version here works just fine. I now want to use all
> the dependencies here and build a master version, so I'm using dorsal
> with unstable for fiat/ffc/ufl/instant, and install in my own folder.
> I then clone dolfin in a different directory and run cmake.local. It
> stops at MultiMeshAssembler.cpp because for some reason it picks up
> ufc.h from the stable and not the unstable branch, even though the
> unstable is sourced last. From my .bashrc:
> 
> source /usit/abel/u1/johannr/fenics-1.4.0-gcc.conf  # stable
> everything
> source /usit/abel/u1/mikaem/Fenics/fenics-1.4/share/fenics/fenics.conf
> # unstable fiat/ffc/ufl/instant/ufc.h
> 
> With some hacking of paths I am able to fix MultiMeshAssembler and
> everything compiles just fine. However, the python version still does
> not work and I find that it is because the module-libraries are
> picking up the stable dolfin version. Here is ldd of
> dolfin/cpp/_common.so:
> 
> [mikaem@login-0-0 ~]$ ldd
> /usit/abel/u1/mikaem/Fenics/dolfin/local.master/lib/python2.7/site-packages/dolfin/cpp/_common.so
>     linux-vdso.so.1 =>  (0x00007fff7816d000)
>     libdolfin.so.1.4 =>
> /usit/abel/u1/johannr/nobackup/src/hashstack/default/lib/libdolfin.so.1.4
> (0x00007fb14c5ee000)
>     libpython2.7.so.1.0 =>
> /usit/abel/u1/johannr/nobackup/src/hashstack/default/lib/libpython2.7.so.1.0
> (0x00007fb14c1e7000)
> ...
> 
> Evidently _common.so has picked up the stable libdolfin.so.1.4. Any
> hints at how this can be fixed? An alternative I don't like is to
> give up Johannes' dependencies all together and install everything
> for myself.

You should not use Johannes' fenics.conf, it probably sets
LD_LIBRARY_PATH. Linker can't distinguish between stable and unstable as
they have same name libdolfin.so.1.4. Rather you should tell to DOLFIN's
CMake about all the dependencies which you want to use from Johannes.

Or maybe try a little bit messy solution, keep the build you have and
then get rid of Johannes' LD_LIBRARY_PATH in your own fenics.conf a
check what linker says.

Generally, it will be everytime tricky. You should convince Johannes to
install dependencies you need separately from stable FEniCS. (You could
simulate this with symlinks.)

Jan

> 
> Thanks for any help.
> 
> Best regards
> 
> Mikael

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to