Member Site › Forums › Rosetta 3 › Rosetta 3 – Build/Install › Rosetta 3.4 Install w/ MPI
- This topic has 15 replies, 6 voices, and was last updated 11 years, 5 months ago by Anonymous.
-
AuthorPosts
-
-
September 4, 2012 at 5:46 pm #1394Anonymous
I hate to add another thread about compiling Rosetta with MPI, but after searching through this forum, and trying a number of potential solutions, I am still stuck.
When I execute the command:
$ ./scons.py bin mode=release extras=mpi
I get the following error:
mpiCC -o build/src/release/linux/2.6/64/x86/gcc/4.1/mpi/apps/public/AbinitioRelax.o -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 -DNDEBUG -DUSEMPI -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.1 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/include -I/usr/local/include src/apps/public/AbinitioRelax.cc
sh: mpiCC: command not found
scons: *** [build/src/release/linux/2.6/64/x86/gcc/4.1/mpi/apps/public/AbinitioRelax.o] Error 127
scons: building terminated because of errors.I understand the error is due to not being able to locate the MPI compiler.
mpiCC does not exist on this cluster; however, the following does:
/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc
/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicxxI feel the solution to this problem is something as simple as telling scons to use mpicc instead of mpiCC.
I have tried a few potential solutions, including:
1) Adding the following to the tools/build/site.settings file
“overrides” : {
“cxx”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicxx”,
“cc”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc”,
},2) creating a symbolic link (mpiCC -> /share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc) in my home directory, and adding that to my path.
Any guidence on resolving this issue would be greatly appreaciated.
Thanks!
–Eddie -
September 4, 2012 at 6:06 pm #7738Anonymous
The first thing I notice is that you are NOT using cxx=icc, but you appear to be using intel’s mpicc. Try scons bin mode=release extras=mpi cxx=icc first thing.
You are 100% trying the right things, but you didn’t specifically mention the solution I suggest first – have you tried copying the program/library path stuff out of site.settings.killdevil or site.settings.topsail into your own site.settings? Adding mpiCC to your $PATH won’t work without $PATH being in scons’s view (which is what the line
“program_path” : os.environ[“PATH”].split(“:”),
does).
-
September 4, 2012 at 10:36 pm #7744Anonymous
Thanks for the quick reply. I think I was able to get it compiling with your suggestions; hopefully, no errors creep up, although quite a few warnings are being thrown.
For posterity, here is a copy of my site.settings file that seems to be working:
import os
settings = {
“site” : {
“prepends” : {
“program_path” : os.environ[“PATH”].split(“:”),
“include_path” : os.environ[“INCLUDE”].split(“:”),
“library_path” : os.environ[“LD_LIBRARY_PATH”].split(“:”),
},
“appends” : {
},
“overrides” : {
“cxx”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicxx”,
“cc”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc”,
},
“removes” : {
},
},
}Finally, running: $./scons.py bin mode=release extras=mpi cxx=icc
Thanks, again.
-
November 6, 2012 at 5:15 pm #8029Anonymous
Hi folks!
I do not want to open a new thread, since I think I have a similar problem.
I cannot compile Rosetta through ‘scons bin mode=release extras=mpi -j 8’
Error:
build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/libprotocols.3.so: undefined reference to `MPI_Op_commutative’
build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/libprotocols.3.so: undefined reference to `MPI_Reduce_local’
collect2: ld returned 1 exit status
scons: *** [build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/InterfaceAnalyzer.mpi.linuxgccrelease] Error 1
build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/apps/public/interface_design/anchored_design/AnchorFinder.o: In function `MPI::Op::Is_commutative() const’:
AnchorFinder.cc:(.text._ZNK3MPI2Op14Is_commutativeEv[MPI::Op::Is_commutative() const]+0x16): undefined reference to `MPI_Op_commutative’
build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/apps/public/interface_design/anchored_design/AnchorFinder.o: In function `MPI::Op::Reduce_local(void const*, void*, int, MPI::Datatype const&) const’:
AnchorFinder.cc:(.text._ZNK3MPI2Op12Reduce_localEPKvPviRKNS_8DatatypeE[MPI::Op::Reduce_local(void const*, void*, int, MPI::Datatype const&) const]+0x33): undefined reference to `MPI_Reduce_local’
collect2: ld returned 1 exit status
scons: *** [build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/AnchorFinder.mpi.linuxgccrelease] Error 1
scons: building terminated because of errors.Any ideas?
My system is Ubuntu 12.04 32bit on AMD FX8150 processor/16 GB RamThank you very much for your help!
dati -
July 8, 2013 at 6:41 pm #9010Anonymous
Hi,
I have the exact error as edpryor did at first.
Then I tried his suggestion to modify the site.settings and command “scons bin mode=release extras=mpi cxx=icc”Then, I got the following error message:
File “/working004b/chem_eng3/yingfeic/rosetta/rosetta_source/tools/build/setup_platforms.py”, line 83, in select_compiler_version
(actual, compiler)
KeyError: “Unknown version number 12.0 for compiler ‘icc'”Is there anything I need to modify?
Please let me know if you need other information to solve this.
Thanks,
Rita -
July 8, 2013 at 7:28 pm #9011Anonymous
Hi Rita,
Are you using Rosetta 3.4 or 3.5?
Can you check the file rosetta_source/tools/build/basic.settings line ~880?
Do you see this block:
“icc, 12.0, linux” : {
“override” : {
“version” : [ “12”,”0″ ],
},
},If not,
I believe you should be able to add it and it should compile ok. This block should be in 3.5, if not, it will be in the next release version (it is in developers trunk).-Jared
P.S the forum eats the tabs of the python block, so if you need to add it, follow the tabs like the other blocks in the file.
-
November 6, 2012 at 5:26 pm #8030Anonymous
These are linker errors, implying that the MPI libraries are either not present, or not where scons thinks they should be…what MPI libraries did you install?
-
November 6, 2012 at 5:45 pm #8031Anonymous
I just installed open mpi-1.6.3 right from their website. I put it to /usr/local and installed it from there by their discribtion of How to build Open MPI.
-
November 7, 2012 at 2:45 pm #8037Anonymous
Why did you trying building it yourself instead of using the ubuntu libraries? Here’s what I find for OpenMPI on a system in my lab where it works:
> apt-cache search openmpi
libopenmpi-dbg – high performance message passing library — debug library
libopenmpi-dev – high performance message passing library — header files
libopenmpi1.3 – high performance message passing library — shared library
libopenmpi1.5-2 – high performance message passing library — shared library
libopenmpi1.5-dbg – high performance message passing library — debug library
libopenmpi1.5-dev – high performance message passing library — header files
openmpi-bin – high performance message passing library — binaries
openmpi-checkpoint – high performance message passing library — checkpoint support
openmpi-common – high performance message passing library — common files
openmpi-doc – high performance message passing library — man pages
openmpi1.5-bin – high performance message passing library — binaries
openmpi1.5-checkpoint – high performance message passing library — checkpoint support
openmpi1.5-common – high performance message passing library — common files
openmpi1.5-doc – high performance message passing library — man pagesYou can probably run “sudo apt-get install libopenmpi-dev” and “sudo apt-get install openmpi-bin” and it will likely work out.
-
November 7, 2012 at 3:57 pm #8042Anonymous
Thank you! I’m not an expert on such things. Did not know, that ubuntu comes along with mpi libaries! I will try, if it works. Thank you again!
-
November 7, 2012 at 4:04 pm #8043Anonymous
Ubuntu has libraries for everything – I’ve never had to manually install _anything_, you can just use the ubuntu repository.
-
November 7, 2012 at 4:50 pm #8044Anonymous
It worked. Haven’t tried to run rosetta with mpi so far. But we’ll see! Thank you again!
-
July 9, 2013 at 3:52 pm #9019Anonymous
Hi Jared,
I’m using rosetta 3.4.
I was able to add this block in the basic.settings
But I still got the same error, which I have no idea why it still appears.KeyError: “Unknown version number 12.0 for compiler ‘icc'”
scons: done reading SConscript files.Any suggestions?
Thanks,
Rita -
July 10, 2013 at 12:49 am #9021Anonymous
Hi Rita,
I have forwarded this to someone who may be able to help more than I can (smlewis). In the meantime, you could try 3.5.
-
July 10, 2013 at 4:34 pm #9024Anonymous
Thank you Jared.
Since I’ve already installed the regular Rosetta 3.4 on the machine, I hope there will be a work around towards this.Thanks again,
Rita -
July 11, 2013 at 8:11 pm #9034Anonymous
I have experienced the same sort of error as Rita.
I am trying to compile rosetta-3.5 with mpich2 and icc 12.1
./scons.py bin mode=release extras=mpi cxx=icc
KeyError: “Unknown version number 12.1 for compiler ‘icc'”
I edited my tools/build/basic.settings to include icc 12.1
eg:
},
“icc, 12.1, linux” : {
“override” : {
“version” : [ “12”,”1″ ],
},
},and after editing basic.settings I still see the same error.
Is there something else I can try?
Starr
-
-
AuthorPosts
- You must be logged in to reply to this topic.