On Fri, 1 Aug 2014 20:23:04 +0100 "Garth N. Wells" <[email protected]> wrote:
> > On 1 Aug 2014, at 19:54, Mikael Mortensen > <[email protected]> wrote: > > > Thank you both for the tips. I’ll look into it some more. BTW, do > > you create your own modules for all dependencies Garth? The module > > system is used on our cluster, but I have never tried to create > > modules of my own. > > > > I haven’t done it, but have seen colleagues do it for FEniCS (on > workstations and on clusters). It’s easy. Yes, that's like a fenics.conf file but just in different language. And it may handle dependencies. But creating a module does not resolve these linking problems. You should solve there an original issue - FEniCS stable and libraries (which could be reused) are installed in the same place. Currently we are thinking here in Prague before ugrading to Ubuntu Trusty how to handle installation and usage of packages. Our homobrewn system written in Make is getting out of hands with growing number of different PETScs, FEniCSes, BLAS, debug/nodebug combinations... Not talking how to handle smart pulling dev versions by pushing a button. We've heard about hashdist https://github.com/hashdist/hashdist, https://github.com/hashdist/hashstack. I think Johannes is somewhat involved. Do you have some experience with this? Other alternative seems to be http://hpcugent.github.io/easybuild/. Jan > > Dorsal should create module files. > > Garth > > > > Best regards > > > > Mikael > > > > On 01 Aug 2014, at 18:20, Garth N. Wells <[email protected]> wrote: > > > >> Use the 'module' system to support multiple installations on a > >> cluster. > >> > >> Garth > >> > >> On Fri, 1 Aug, 2014 at 3:36 PM, Jan Blechta > >> <[email protected]> wrote: > >>> 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 > >> > > > > _______________________________________________ > fenics-support mailing list > [email protected] > http://fenicsproject.org/mailman/listinfo/fenics-support _______________________________________________ fenics-support mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics-support
