# move to high performance computer

6 posts / 0 new
move to high performance computer
#1

I compiled Rosetta in my local computer successfully and It can runs.

I just upload the local compiled Rosetta to server, When I run the H3-modeling in log file I got error " ~/rosetta/main/source/bin/antibody_H3.linuxclangrelease: error while loading shared libraries: libcppdb.so: cannot open shared object file: No such file or directory"

Do I need to compile again in server?

Category:
Post Situation:
Wed, 2017-11-08 02:28
jessye

Rosetta is using dynamically linked libraries (wikipedia that).  The short version is, you can't move the executable from one machine to another, you need to recompile.

You can use a statically linked library with "extras=static" on your scons command line (so, scons.py -j# mode=release extras=static).  This produces much larger binaries that have most or all of their links internally and thus can be moved from computer to computer.  You can still only do this on matching architectures - you can't compile on a mac and move to linux - but within similar linux distributions on similar hardware it is likely to work.

You can also just compile on the server resource, of course.

Wed, 2017-11-08 10:25
smlewis

\$ ./scons.py -j 4 mode=release bin cxx=clang  extras=static

and compiled and upload to server which all linux platform.

But got the same error.

Thanks for help

Fri, 2017-11-10 17:56
jessye

also tried to compile Rosetta in "super computer"

erro: scons: *** [build/src/release/linux/3.10/64/x86/gcc/6.2/default/protocols/mpi_refinement/StructAvrgMover.os] Error 1
scons: building terminated because of errors

the scons -- version is 2.3.0. gcc 6.2,  Is possible because scon or gcc version too low?

Fri, 2017-11-10 18:44
jessye

scons version - you can always try the scons that ships with Rosetta (scons.py in source).

GCC version - 6.2 is more likely to be too new than too old.  You can try the compiler test: https://www.rosettacommons.org/docs/latest/build_documentation/Cxx11Support

I might be able to diagnose a little better with more of the error.

Mon, 2017-11-13 11:23
smlewis

Note that when you switch to using a static compilation, the name of the executable you need to use changes. It's no longer ~/rosetta/main/source/bin/antibody_H3.linuxclangrelease  it's ~/rosetta/main/source/bin/antibody_H3.static.linuxclangrelease  If you're using the name without the static, you may still be using the dynamically linked version.

The other thing you can try is to use the LD_LIBRARY_PATH environment variable to include the location of the library file. That is, you can do a find ~/rosetta/main/source/build/  --name libcppdb.soto find the appropriate directory, and then add the directory it's in to your LD_LIBRARY_PATH environment variable. -- I often do this when I'm running on a cluster. My cluster submission scripts have export LD_LIBRARY_PATH=... entries in them to set it prior to running Rosetta.

Fri, 2017-12-01 11:42
rmoretti