You are here

rosetta build error

17 posts / 0 new
Last post
rosetta build error
#1

Dear Rosetta users!

I am trying to build and use rosetta latest version but getting error while compiling source code with ./scons.py. 

the error file is attached herewith, kinldy try to help me out.

many thanks in advance!

malkeet

 

 

error log file is
genesis:/home/gnss/singhma> python -V
Python 2.6.6
genesis:/home/gnss/singhma> p27
[singhma@genesis ~]$ python -V
Python 2.7.13
[singhma@genesis ~]$ cd rosetta/software
[singhma@genesis software]$ ll
total 3020192
-rw-r--r-- 1 singhma gnss  252221850 Jun  5 16:32 rosetta_3.8_user_guide.tgz
drwxr-xr-x 6 singhma gnss       4096 Feb 26 02:55 rosetta_src_2017.08.59291_bundle
-rw-r--r-- 1 singhma gnss 2840439965 Jun  5 16:31 rosetta_src_3.8_bundle.tgz
[singhma@genesis software]$ cd rosetta_src_2017.08.59291_bundle/
[singhma@genesis rosetta_src_2017.08.59291_bundle]$ cd ma i n/source
bash: cd: ma: No such file or directory
[singhma@genesis rosetta_src_2017.08.59291_bundle]$ ./scons.py -j12 mode=release bin
bash: ./scons.py: No such file or directory
[singhma@genesis rosetta_src_2017.08.59291_bundle]$ cd main/source
[singhma@genesis source]$ ./scons.py -j12 mode=release bin
scons: Reading SConscript files ...
Running versioning script ... fatal: Not a git repository (or any of the parent directories): .git
Done. (0.0 seconds)
Number of option files updated: 0
Total 3922 options.
Finished updating ResidueProperty code -- no changes needed
Finished updating VariantType code -- no changes needed
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/src/release/linux/2.6/64/x86/gcc/4.4/default/apps/public/AbinitioRelax.o -c -std=c++0x -ffor-scope -isystem external/boost_1_55_0/ -isystem external/ -isystem external/include/ -isystem external/dbio/ -pipe -Wall -Wextra -pedantic -Werror -Wno-long-long -Wno-strict-aliasing -march=core2 -mtune=generic -O3 -ffast-math -fno-finite-math-only -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -Wno-unused-parameter -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DPTR_STD -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.4 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_55_0 -Iexternal/libxml2/include -Iexternal -Iexternal/dbio -I/usr/include -I/usr/local/include src/apps/public/AbinitioRelax.cc
In file included from src/utility/options/Option.hh:25,
                 from src/utility/options/OptionCollection.hh:23,
                 from src/basic/options/option.hh:17,

...

src/utility/signals/BufferedSignalHub.hh:124:   instantiated from 'void utility::signals::BufferedSignalHub<ResultType, Signal>::unblock() [with ReturnType = void, Signal = core::pose::signals::DestructionEvent]'
src/utility/options/ScalarOption_T_.hh:155:   instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_iterator.h:708: error: cannot increment a pointer to incomplete type 'core::pose::signals::DestructionEvent'
scons: *** [build/src/release/linux/2.6/64/x86/gcc/4.4/default/protocols/mpi_refinement/MPI_Refinement.os] Error 1
scons: building terminated because of errors.
[singhma@genesis source]$
[singhma@genesis source]$
 

Category: 
Post Situation: 
Wed, 2017-06-07 01:07
malkeet.singh

Your comment was long enough that it was breaking the forum software.  I edited out some of the error stream.

The problem is that GCC 4.4 is too old to compile Rosetta 3.8.  https://www.rosettacommons.org/docs/latest/build_documentation/Cxx11Support

Wed, 2017-06-07 14:23
smlewis

thank you, I will try with updated version of gcc.

malkeet

Thu, 2017-06-08 08:05
malkeet.singh

Hello!

I tried compiling rosetta 3.8 with gcc 6.2, but still it is ending up with errors (file atached herwith).

Many thanks in advance!

Malkeet

File attachments: 
Sun, 2017-06-11 00:57
malkeet.singh

Interesting.  These are the same errors you had with GCC 4.4.  I'd suspect something is going wrong in pathing and g++ still points to 4.4, perhaps?  What does "which g++" report?  What does "g++ --version" (or whatever its version flag is) report?

Mon, 2017-06-12 11:38
smlewis

Hello!

 

the version command returns: 

[singhma@genesis ~]$ scl enable devtoolset-6 bash
[singhma@genesis ~]$ gcc --version
gcc (GCC) 6.2.1 20160916 (Red Hat 6.2.1-3)

 

and the which command : /usr/bin/g++

 

Thanks!

Malkeet

Wed, 2017-06-14 03:58
malkeet.singh

There is a compiler compatibility script at the top of the documentation page I linked earlier - what does it return?

Have you made modifications to the settings files in tools/build?  Modifications to tools/build/user.settings are common to resolve pathing issues - I'm wondering if it's overriding your path in such a way that you still get g++ 4 from scons even though you have a more recent one installed in your normal environment.  The prepended "scl enable ..." makes me especially suspicious of that type of problem.

Thu, 2017-06-15 12:03
smlewis

Hello !

Thanks for your response. I tried the compiler command and it passed all tests (file attached)

I didn't make any change to tools/build/user.settings file.  Could you please tell what to do in this file ? 

 

Thanks in advance!

malkeet

File attachments: 
Tue, 2017-06-20 04:10
malkeet.singh

If `g++ --version` is giving you the correct version at the commandline, but scons doesn't seem to be picking things up, I'd first recommend copying  main/source/tools/build/site.settings.killdevil to main/source/tools/build/site.settings  

By default Scons will bypass your shell's PATH settings. The site.settings.killdevil has facilities for enabling your path settings in the scons build process.

Tue, 2017-06-20 08:39
rmoretti

Hello!

is it /site.settings  file? because there is no such file. there are files 'site.settings.xx', where xx is wiggins, vaxmpi etc. 

Based on our earlier discussion, I copied the content of site.settings.killdevil to users.settings and tried to compile the source.  

[singhma@genesis source]$ ./scons.py -j8 mode=release bin
scons: Reading SConscript files ...
Traceback (most recent call last):
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/SConstruct", line 150, in main
    build = SConscript("tools/build/setup.py")
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/external/scons-local/scons-local-2.0.1/SCons/Script/SConscript.py", line 614, in __call__
    return method(*args, **kw)
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/external/scons-local/scons-local-2.0.1/SCons/Script/SConscript.py", line 551, in SConscript
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/external/scons-local/scons-local-2.0.1/SCons/Script/SConscript.py", line 260, in _SConscript
    exec _file_ in call_stack[-1].globals
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/tools/build/setup.py", line 429, in <module>
    build = setup()
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/tools/build/setup.py", line 420, in setup
    build.settings = setup_build_settings(build.options)
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/tools/build/setup.py", line 216, in setup_build_settings
    user = Settings.load("user.settings", "settings")
  File "/home/gnss/singhma/rosetta/software/rosetta_src_2017.08.59291_bundle/main/source/tools/build/settings.py", line 130, in load
    execfile(file, settings)
  File "user.settings", line 29, in <module>
NameError: name 'os' is not defined
scons: done reading SConscript files.
scons: Building targets ...
scons: `bin' is up to date.
scons: done building targets.

 

this seems liek completed but i doubt there is some problem. 

- it took some seconds to complete.

- 'bin' folder is empty.

 

Thanks!

malkeet
 

Wed, 2017-06-21 01:43
malkeet.singh

Right, the "site.settings" file doesn't exist, so you copy the "site.settings.killdevil" file to that name, creating it.

You can also copy it to the "user.settings" file, though if you do that you may need to change the line which reads `"site" : {` to read `"user" : {` instead.

I'm a little surprised at the error message you're getting, as the 'os' should be present due to the "import os" line in the site.settings.killdevil file.  Did you copy site.settings.killdevil exactly? (e.g. with something like `cp site.settings.killdevil  user.settings`?)  The only way I think you'd get that error is if something was messed up with the copy.

I'd recommend deleting your current `user.settings` file, and then doing a `cp site.settings.killdevil   site.settings` in the Rosetta/main/source/tools/build/ directory. That should fix things.

Wed, 2017-06-21 12:30
rmoretti

Hello!

 

Bingo!! Rosetta is compiled and working fine now!!!!

Thank you dear for your time and suggestions!

 

Malkeet

 

Sun, 2017-06-25 00:44
malkeet.singh

Hello!
 

How to use multiple cores for rosetta calculations?

and second is it possible to use GPUs for ddG calcultions in rosetta?

 

Thanks in advance!

Malkeet

Sun, 2017-06-25 01:30
malkeet.singh

GPUs: nope.  We have (almost) no public support for GPU.  They optimize calculation in basically the opposite way Rosetta optimizes things, so it requires a lot of rewrite to use them efficiently.

 

multiple cores: We don't support multithreading either.  We do support MPI, which will let you run multiple Rosetta calls together, sharing their output space (so that one run produces _0001, the next produces _0002, etc.  DDG does not support this, by the way - it runs multiple cycles internally and does not share the job distributor with most of Rosetta.  https://www.rosettacommons.org/docs/latest/rosetta_basics/MPI

Mon, 2017-06-26 09:00
smlewis

Hello!

I have compiled the source of Rosetta suit, and downloaded the Linux binary file version too.

if i am using binary version for the protein preperation: it shows relax.static.linixgccrelease script but in the compiled version the file is "relax.default.linixgccrelease".

moreover, the relax protocol is very well running in the binary version, however, in the compiled version it is giving errors (/home/gnss/singhma/rosetta/software/ros-c/main/source/bin/relax.default.linuxgccrelease: error while loading shared libraries: libcppdb.so: cannot open shared object file: No such file or directory).

 

what could be the reason for this?

 

Malkeet

Sun, 2017-06-25 02:24
malkeet.singh

"error while loading shared libraries: libcppdb.so: cannot open shared object file: No such file or directory"  

If you want background - Google around to learn about static versus dynamic linking.  The binaries we provide are statically linked, which means they are bigger but rely on no outside shared code.  The compiled binaries are dynamically linked, which means they're much smaller but expect system libraries to be in place to rely on.  

The system libraries aren't there because either A) the binary has been moved between the machines, B) they've been uninstalled, or most likely C) something has changed in your environment, so the paths are wrong.  If this is the thread I think it is (I can't tell from the message compose page)  - you had to do some "setup" at commandline to make the compiler available in your path?  Probably Rosetta needs the same setup too to make sure the dynamic libraries are there on your path for runtime.

Mon, 2017-06-26 09:03
smlewis

Regarding the setup for Rosetta to find the dynamic libraries, it's specifically setting the LD_LIBRARY_PATH environment variable. (This isn't a Rosetta-specific setting, but a system one.) You should be able to put it in your shell setup file (e.g. ~/.bashrc) and have it be present for all runs.

Thu, 2017-06-29 07:20
rmoretti