Member Site › Forums › Rosetta++ › Rosetta++ – General › /usr/bin/ld: cannot find -lmpi_cxx › Reply To: /usr/bin/ld: cannot find -lmpi_cxx
here is my compiling procedure:
######### compile note for Rosetta 2.3 ##############
# system: Ubuntu 9.10,
# compiler: gcc/g++ 4.1, 4.2, 4.3, 4.4; only 4.1 worked
# other packages: apt-get install scons
## ! tricky: use GCC 4.1 !
because the default /usr/bin/gcc is linked to gcc-4.4 which does not work in compile, a simple way is to LINK /usr/bin/gcc to /usr/bin/gcc-4.1 !
# compile the standard version:
scons -j2 mode=release
the output binary is: build/src/release/linux/2.6/64/x86/gcc/rosetta++/rosetta.release
# compile the MPI version
dependent package: apt-get install mpi-default-bin mpi-default-dev openmpi-bin libopenmpi-dev
be sure that the mpiCC is a wrapper to g++-4.1
by default, rosetta++ is compiled in static mode, so it is required to link all dependent libs:
change the config file “tools/build/basic.settings”, at about line 411, change the codes to:
^
“gcc, mpi” : {
“appends” : {
“defines” : [[ “USEMPI” ],
“libraries” : [[ “mpi”, “open-rte”, “open-pal”, “ibverbs”, “rt”, “nsl”, “util”, “m”, “dl”, “pthread” ],
},
“overrides” : {
“cc” : “mpicc -Wno-long-long”,
“cxx” : “mpiCC -Wno-long-long”,
},
},
^
compile:
scons -j2 mode=release extras=mpi
the output binary is: build/src/release/linux/2.6/64/x86/gcc/mpi/rosetta++/rosetta.release