On 01 Aug 2014, at 21:48, Jan Blechta <[email protected]> wrote:
> 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? Johannes has been using hashdist/hashstack on Abel, but I don’t really understand it. So I guess the smart thing to do right now is just to wait for the build engineer himself to comment and I think he’s on vacation. Mikael > > 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
