Member Site › Forums › Rosetta 3 › Rosetta 3 – Build/Install › Rosetta on CentOS 7 using GCC-5.5
- This topic has 4 replies, 2 voices, and was last updated 6 years, 7 months ago by Anonymous.
-
AuthorPosts
-
-
May 2, 2018 at 9:14 pm #2909Anonymous
Hello
I am trying to compile rosetta_src_2017.45.59812 using gcc-5.5 on a centos machine.
First of all,
./rosetta_compiler_test.py /home/ertinaz/gcc-install/gcc-5.5.0/bin/g++-5.5
gives
Summary:
Main Tests: 16 of 16 passed
Optional Tests: 5 of 6 passed
REGEX: <<<FAILED! (Compiled but did not run.)>>>First question is which gcc version would pass the entire test?
Additionally, I have multiple versions of gcc in my pc. I am trying to specify full paths for “g++-5.5” and “gcc-5.5”. I think it is done via overriding paths in “tools/build/site.settings” however I cannot manage to do it successfully. Can you help me with that as well?
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" : "/home/ertinaz/gcc-install/gcc-5.5.0/bin/g++-5.5",
"cc" : "/home/ertinaz/gcc-install/gcc-5.5.0/bin/gcc-5.5",
},
"removes" : {
},
},
}
./scons.py -j 2 bin mode=release extras=mpi
scons: Reading SConscript files ...
Traceback (most recent call last):
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/SConstruct", line 150, in main
build = SConscript("tools/build/setup.py")
File "/usr/lib/python2.7/site-packages/SCons/Script/SConscript.py", line 614, in __call__
return method(*args, **kw)
File "/usr/lib/python2.7/site-packages/SCons/Script/SConscript.py", line 551, in SConscript
return _SConscript(self.fs, *files, **subst_kw)
File "/usr/lib/python2.7/site-packages/SCons/Script/SConscript.py", line 256, in _SConscript
call_stack[-1].globals)
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/setup.py", line 429, in <module>
build = setup()
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/setup.py", line 420, in setup
build.settings = setup_build_settings(build.options)
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/setup.py", line 210, in setup_build_settings
site = Settings.load("site.settings", "settings")
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/settings.py", line 130, in load
execfile(file, settings)
File "site.settings", line 27, in <module>
File "/usr/lib64/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'INCLUDE'
scons: done reading SConscript files.
scons: Building targets ...
scons: *** Do not know how to make File target `bin' (/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/bin). Stop.
scons: building terminated because of errors.
Ultimately my aim is to install this code on a Blue Gene / Q cluster which requires a cross-compilation with Mpich. Maybe I should open a new thread for that, but is that possible to cross-compile the Rosetta code and if so which gcc version is recommended for that?
Many thanks
Fatih Ertinaz
-
May 2, 2018 at 9:33 pm #14217Anonymous
GCC 5.5 should be good enough to pass all the tests. I’m not quite sure why it isn’t. The only thing I can think of is that you compiled GCC in a way that it’s not automatically using the GCC 5.5 verison of the C++ standard library. (Earlier versions of the C++ standard library will exhibit behavior like that shown.)
That said, there’s relatively little in Rosetta which uses the REGEX features. Unless you’re doing things with antibodies, you’re unlikely to need it. (That’s why the test is in the “Optional” section.)
You’re also right that adjusting the site.settings file is what you should do to get a custom compiler working, and what you’re doing looks exactly right to me. I’m a little confused by the error message you’re getting, though, as the site.settings file isn’t using the “INCLUDE” (that line is commented out.) I’d double check the file to make sure it’s what you think it is, and perhaps try removing the INCLUDE line completely, rather than just commenting it out.
-
May 2, 2018 at 9:38 pm #14218Anonymous
Regarding compiling on Blue Gene / Q, here’s what someone who has done it recommends:
The simplest thing is to navigate to Rosetta/main/source/cmake/build_staticmpi_bluegene_clang and to run buildme.sh. Paths in that script might need to be updated for the particular machine.
Note that this uses a different build system (CMake) versus the standard Scons compile. There’s other bluegene directories in that directory which you may or may not want to also look at.
-
May 15, 2018 at 6:59 pm #14235Anonymous
Hello, thanks for your replies.
I removed gcc-5.5 and tried with gcc-4.8 however it ends up the same. Also gcc-4.8 test fails at regex as well.
[ertinaz@supernova source]$ ./scons.py -j 2 bin mode=release extras=mpi cxx=gcc cxx_ver=4.8
scons: Reading SConscript files ...
Traceback (most recent call last):
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/SConstruct", line 150, in main
build = SConscript("tools/build/setup.py")
File "/usr/lib/python2.7/site-packages/SCons/Script/SConscript.py", line 614, in __call__
return method(*args, **kw)
File "/usr/lib/python2.7/site-packages/SCons/Script/SConscript.py", line 551, in SConscript
return _SConscript(self.fs, *files, **subst_kw)
File "/usr/lib/python2.7/site-packages/SCons/Script/SConscript.py", line 256, in _SConscript
call_stack[-1].globals)
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/setup.py", line 429, in <module>
build = setup()
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/setup.py", line 420, in setup
build.settings = setup_build_settings(build.options)
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/setup.py", line 210, in setup_build_settings
site = Settings.load("site.settings", "settings")
File "/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/tools/build/settings.py", line 130, in load
execfile(file, settings)
File "site.settings", line 27, in <module>
File "/usr/lib64/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'INCLUDE'
scons: done reading SConscript files.
scons: Building targets ...
scons: *** Do not know how to make File target `bin' (/home/ertinaz/Rosetta/rosetta_src_2017.45.59812_bundle/main/source/bin). Stop.
scons: building terminated because of errors.I am using default version of “tools/build/site.settings” by the way. So I am not overriding anything.
Is there an alternative way of compiling from source code other than scons?
// Fatih
-
May 18, 2018 at 4:08 pm #14238Anonymous
This issue (“KeyError: ‘INCLUDE'”) normally indicates an issue with your site.settings/user.settings file. I’d recommend checking those files and commenting out (adding a # to the beginning of) the lines which contain INCLUDE.
-
-
-
AuthorPosts
- You must be logged in to reply to this topic.