[firedrake] Dependency issues
Homolya, Miklós
m.homolya14 at imperial.ac.uk
Thu Jan 8 21:29:05 GMT 2015
Hello.
Generally you should use the 'firedrake' branch from the 'mapdes' fork for both PETSc and petsc4py. Why does pip install PETSc as from there as 3.6.dev0, I don't understand completely, but if you install them manually (and set up PETSC_ARCH, PETSC_DIR and PYTHONPATH accordingly), they shall work properly.
Regarding PyOP2 and missing libraries, such as hwloc, you can always add the directory, where those libraries are located, to DYLD_LIBRARY_PATH, the Mac OS X counter-part of LD_LIBRARY_PATH (an environment variable containing a colon separated list of paths, where the dynamic linker looks for libraries).
However, the whole trickery with DYLD_LIBRARY_PATH wouldn't be needed, if it weren't for some weird constellation of the system default C compiler, clang, and GCC, the system default in older versions, which also supports OpenMP.
Assuming you use Open MPI and have GCC installed from Homebrew, you might be better off if you set OMPI_CC=gcc-4.9 and OMPI_CXX=g++-4.9, which will make mpicc and mpic++ wrap the actual GCC. (Funny enough, gcc and g++ are by default wrappers for clang and clang++, for backwards compatibility.)
I hope you find some of these tips useful.
Regards,
Miklos
________________________________
From: firedrake-bounces at imperial.ac.uk [firedrake-bounces at imperial.ac.uk] on behalf of de Souza, Felix [felix.de-souza11 at imperial.ac.uk]
Sent: 08 January 2015 19:14
To: firedrake
Subject: [firedrake] Dependency issues
Hello and happy new year all!
For about a week and half or so (not for the entire time), I've been trying to install PETSc along with petsc4py, so I could get PyOP2 passing tests. I'm on a Mac running OS X 10.10 (Yosemite).
Initially, whenever running `make test' within the PyOP2 directory, it was reporting a weird thing of wanting to load shared libraries from the temporary location in which pip installed PETSc, (wanted to load hwloc or something). Someone pointed out to me that it was non-essential to have hwloc, so I installed it without. But tests just wouldn't run, some dependency issue or mismatch or versions.
So I scrapped it and started again a few days later, however the version of PETSc installed via the command:
pip install https://bitbucket.org/mapdes/petsc/get/firedrake.tar.bz2
was `petsc-3.6.dev0', and with the version of petsc4py that is installed (attempted to) by the command:
pip install git+https://bitbucket.org/mapdes/petsc4py.git@firedrake#egg=petsc4py
I get a dependency mismatch:
Could not find any downloads that satisfy the requirement petsc<3.6,>=3.5 (from petsc4py)
Some externally hosted files were ignored as access to them may be unreliable (use --allow-external petsc to allow).
No distributions at all found for petsc<3.6,>=3.5 (from petsc4py)
How can I get versions of PETSc and petsc4py that are compatible with each other and PyOP2, firedrake etc.
Hopefully with this out of the way, PyOP2 tests will pass. If not I'll be back here again :(
Thanks,
Felix
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 7970 bytes
Desc: not available
URL: <http://mailman.ic.ac.uk/pipermail/firedrake/attachments/20150108/1d00c1b1/attachment.bin>
More information about the firedrake
mailing list