You are here

how to compile Rosetta with MPI option?

4 posts / 0 new
Last post
how to compile Rosetta with MPI option?
#1

Dear:
I would like to compile Rosetta with 'extras=mpi' option but failed. It always said the following:

sh: mpiCC: command not found
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/apps/public/AbinitioRelax.o] Error 127
mpiCC -o build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelWorkingSet.os -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -fPIC -DNDEBUG -DUSEMPI -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/local/include -I/usr/include src/protocols/forge/remodel/RemodelWorkingSet.cc
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelLoopMover.os] Error 127
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelConstraintGenerator.os] Error 127
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/ResidueVicinityRCG.os] Error 127
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelAccumulator.os] Error 127
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelEnzdesCstModule.os] Error 127
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelData.os] Error 127
sh: mpiCC: command not found
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/protocols/forge/remodel/RemodelWorkingSet.os] Error 127
scons: building terminated because of errors.

I also tried

ln -s site.settings.killdevil site.settings

but it doesn't work. the problem is the same.

THX

Post Situation: 
Wed, 2012-03-07 12:11
albumns

If you can successfully type "which mpiCC" then scons is not adding your PATH environment variable to build configuration. Take a look at the file rosetta_source/tools/build/site.settings.killdevil - you should see that this file is simply adding two environment variables PATH and LD_LIBRARY_CONFIG to your build configuration. Scons looks for a file called "site.settings" in your rosetta_source/tools/build directory. So, by making a link from site.settings.killdevil to site.settings we are simply telling scons to add those two environment variables to the build configuration. Make sure that you created the link in the right location, if that doesn't work then post the results of "which mpiCC" and "echo $PATH" to this forum.

Wed, 2012-03-07 12:28
tjacobs

thank you very much for kind messages.
in fact, I don't find site.settings.killdevil at the place you mentioned. here is all what I get at the direcotry:

basic.options project.settings.template site.settings.modules
basic.settings README site.settings.scinet
doxyfile_constants.py settings.py site.settings.template
doxyfile.py setup_platforms.py site.settings.topsail
doxygen.py setup.py user.options.template
__init__.py site.options.template user.settings.template
options.settings site.settings.juelich utility.py

I changed site.settings.topsail and make link to site.settings. it works now but it terminate with the following messages:

build/external/release/linux/2.6/64/x86/gcc/mpi -Lexternal
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lmpi_cxx
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lmpi
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lopen-rte
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lopen-pal
collect2: ld returned 1 exit status
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/libObjexxFCL.so] Error 1
scons: building terminated because of errors.

thank you very much for helps.

Wed, 2012-03-07 23:03
albumns

The new message is caused by the compiler not being able to find the mpi shared libraries. You'll need to find out where your shared libraries are installed (they will be called libmpi_css.so, libmpi.so, etc if you are on a linux box - the extension could be different if you are on a mac). Once you find these libraries on your computer then you need to tell scons to look for them there. You can do this by editing your tools/build/user.settings (or the site.settings.topsail file you have, either will work) to include "library path" : [ "path/to/your/mpi/libraries", ], in the "prepends" section of the file. This just tells the compiler to look for shared libraries in the specified location.

Good luck!

Thu, 2012-03-08 05:51
tjacobs