You are here

Problem with Parallel installation of Rosetta3.2

8 posts / 0 new
Last post
Problem with Parallel installation of Rosetta3.2
#1

Hi ALL,

I am trying to install the parallel version of Rosetta3.2 with the command, scons bin mode=release extras=mpi
However I am getting the following error:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scons: Building targets ...
mpiCC -o build/src/release/linux/2.6/64/x86/gcc/mpi/libutility.so -shared build/src/release/linux/2.6/64/x86/gcc/mpi/utility/basic_sys_util.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/string_util.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/heap.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/integer_mapping.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/mpi_util.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/exit.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/LexicographicalIterator.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/sql_database/sqlite3_interface.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/sql_database/sqlite3_connection_manager.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/file/file_sys_util.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/file/FileName.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/file/gzip_util.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/file/PathName.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/boinc/boinc_util.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/Tag/Tag.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/options/keys/OptionKeys.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/io/icstream.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/io/izstream.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/io/ocstream.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/io/ozstream.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/excn/Exceptions.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/pointer/ReferenceCount.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/pointer/ReferenceCountMI_.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/options/OptionCollection.os build/src/release/linux/2.6/64/x86/gcc/mpi/utility/options/mpi_stderr.os -Llib -Lexternal/lib -Lbuild/src/release/linux/2.6/64/x86/gcc/mpi -Lsrc -L/usr/local/lib -L/usr/lib -lObjexxFCL -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz
/usr/bin/ld: /usr/local/lib/libmpich.a(setbotf.o): relocation R_X86_64_32 against `mpipriv1_' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libmpich.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
scons: *** [build/src/release/linux/2.6/64/x86/gcc/mpi/libutility.so] Error 1
scons: building terminated because of errors.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

How to solve this issue? Any suggestion is welcome.

Thanks,

Anirban

Post Situation: 
Tue, 2011-05-17 02:24
anirbanzz

I don't know how to resolve it but I can make a couple of guesses.

First, it would appear from "/usr/bin/ld: /usr/local/lib/libmpich.a(setbotf.o): relocation R_X86_64_32 against `mpipriv1_' can not be used when making a shared object; recompile with -fPIC" that your MPI installation is incompatible with whatever flags you used. If you used "extras=static" on command line, this may be resolved by removing that. If you did NOT use extras=static, then try using it (you can combine it with MPI like so: "extras=static,mpi").

If that doesn't work, we can try fiddling with settings to "recompile with -fPIC" as the message suggests. I don't know if it will work.

Tue, 2011-05-17 07:12
smlewis

I have tried to use both the options of building my files:
1)
scons.py bin mode=release extras=static
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/src/release/linux/2.6/32/x86/gcc/static/apps/public/AbinitioRelax.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/local/include -I/usr/include src/apps/public/AbinitioRelax.cc
g++ -o build/src/release/linux/2.6/32/x86/gcc/static/protocols/forge/remodel/RemodelLoopMover.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/local/include -I/usr/include src/protocols/forge/remodel/RemodelLoopMover.cc
g++ -o build/src/release/linux/2.6/32/x86/gcc/static/protocols/forge/remodel/RemodelConstraintGenerator.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/local/include -I/usr/include src/protocols/forge/remodel/RemodelConstraintGenerator.cc
g++ -o build/src/release/linux/2.6/32/x86/gcc/static/protocols/forge/remodel/ResidueVicinityRCG.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/local/include -I/usr/include src/protocols/forge/remodel/ResidueVicinityRCG.cc
^Cscons: *** [build/src/release/linux/2.6/32/x86/gcc/static/protocols/forge/remodel/ResidueVicinityRCG.o] Build interrupted.
scons: Build interrupted.
scons: building terminated because of errors.
scons: writing .sconsign file.

2)
scons.py bin mode=release extras=static,mpi
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
mpiCC -o build/src/release/linux/2.6/32/x86/gcc/static-mpi/apps/public/AbinitioRelax.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -DUSEMPI -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/local/include -I/usr/include src/apps/public/AbinitioRelax.cc
sh: mpiCC: command not found
scons: *** [build/src/release/linux/2.6/32/x86/gcc/static-mpi/apps/public/AbinitioRelax.o] Error 127
scons: building terminated because of errors.

I have mpicc installed in my machine: which mpiCC
/usr/lib/mpi/gcc/openmpi/bin/mpiCC

Please tell me what to do now?

Tue, 2011-12-13 20:44
Gaurav_kumar

Your first build failed because you pressed control-C in the middle of it. I assume you know that.

Your second build is failing because scons can't find mpiCC. Try "cp tools/build/site.settings.topsail tools/build/site.settings", this adds some extra paths to where scons looks for mpiCC and might help. Failing that, you can hardcode the mpiCC path into tools/build/user.settings; instructions are elsewhere in the message boards, for example http://www.rosettacommons.org/content/installation-error.

Wed, 2011-12-14 06:53
smlewis

Hello smlewis,

Thanks for the reply. Using the flag "extras=static,mpi" worked and the installation was done!
Now for submitting job using a SGE script I am using the following commands:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
#$ -S /bin/bash
#$ -q batch
#$ -N Rosetta_MPI
#$ -pe mvapich2 2
#$ -cwd
#$ -V
#$ -o /home/rosetta/rosetta_home/user/OUT
#$ -e /home/rosetta/rosetta_home/user/ERR

/opt/mvapich2-1.0.2/bin/mpirun -machinefile $TMPDIR/machines -np $NSLOTS /home/rosetta/Softwares/installed/Rosetta3.2/rosetta_mpi/rosetta_source/bin/AbinitioRelax.staticmpi.linuxgccrelease @/home/rosetta/rosetta_home/user/flags
----------------------------------------------------------------------------------------------------------------------------------------------------

But the job is not getting submitted, nor any error file is generated.
Any suggestion to solve this would really help.

Regards,

Anirban

Wed, 2011-05-18 03:17
anirbanzz

I have never used your job manager, so I don't know how to debug it. The only change I can suggest is to use the full path to the executable; the one you use there is symlinked.

It is easiest to show by example:


10:55:52 topsail-login2 ~/mini_pure_SP/bin> ll AbinitioRelax.*
lrwxrwxrwx 1 smlewis graduate 75 May 16 15:16 AbinitioRelax.linuxiccrelease -> ../build/src/release/linux/2.6/64/x86/icc/mpi/AbinitioRelax.linuxiccrelease
lrwxrwxrwx 1 smlewis graduate 79 May 16 15:16 AbinitioRelax.mpi.linuxiccrelease -> ../build/src/release/linux/2.6/64/x86/icc/mpi/AbinitioRelax.mpi.linuxiccrelease

You can try the full paths, like rosetta_source/build/src/release/linux/?????????.

As a second problem...the Abinitio executeable doesn't do MPI. See this thread: http://www.rosettacommons.org/node/2292

I can pass along an MPI abinitio patch if you need it; I'll send it to the email address you registered to the forum if you want.

Wed, 2011-05-18 07:59
smlewis

Hello smlewis,

Thanks for the reply.
Yes, I will try with the full paths and also play around with the job scheduler.
I shall be glad if you can kindly send me the MPI abinitio patch, since the serial run really takes a lot of time. Please send me the patch at my registered email id (anirbang@cdac.in you can also copy it to anirbanzz@gmail.com). Please let me know how to install the patch and run it.
Thanks a lot again.

Regards,

Anirban

Wed, 2011-05-18 22:20
anirbanzz

The MPI run on N processors and N serial runs on N processors will run at the same rate - there's no reason you HAVE to use MPI unless your sysadmins make you. Just set up N different directories for the serial runs.

I will be emailing the abinitio patch shortly.

Thu, 2011-05-19 07:15
smlewis