Member Site › Forums › Rosetta 3 › Rosetta 3 – Build/Install › KeyError: “Unknown version number 4.7 for compiler ‘gcc'” on Fedora 17
- This topic has 6 replies, 2 voices, and was last updated 12 years, 4 months ago by Anonymous.
-
AuthorPosts
-
-
August 23, 2012 at 1:21 pm #1385Anonymous
Greetings,
I am trying to compile Rosetta 3.4 on Fedora 17 but I get the following error:
$ python scons.py bin mode=release
scons: Reading SConscript files …
Traceback (most recent call last):
File “/home/thomas/Programs/Rosetta3.4/rosetta_source/SConstruct”, line 141, in main
build = SConscript(“tools/build/setup.py”)
File “/home/thomas/Programs/Rosetta3.4/rosetta_source/external/scons-local/scons-local-2.0.1/SCons/Script/SConscript.py”, line 614, in __call__
return method(*args, **kw)
File “/home/thomas/Programs/Rosetta3.4/rosetta_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/thomas/Programs/Rosetta3.4/rosetta_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/thomas/Programs/Rosetta3.4/rosetta_source/tools/build/setup.py”, line 414, in
build = setup()
File “/home/thomas/Programs/Rosetta3.4/rosetta_source/tools/build/setup.py”, line 405, in setup
build.options_requested, build.options = setup_build_options()
File “/home/thomas/Programs/Rosetta3.4/rosetta_source/tools/build/setup.py”, line 108, in setup_build_options
supported, actual.cxx, requested.cxx_ver
File “/home/thomas/Programs/Rosetta3.4/rosetta_source/tools/build/setup_platforms.py”, line 83, in select_compiler_version
(actual, compiler)
KeyError: “Unknown version number 4.7 for compiler ‘gcc'”
scons: done reading SConscript files.
scons: Building targets …
scons: `bin’ is up to date.
scons: done building targets.Any ideas what goes wrong?
-
August 23, 2012 at 1:31 pm #7684Anonymous
Yes – we don’t support 4.7, so it’s not in the build system.
If you want to compile in 4.7, add 4.7 to the list of gcc compilers in rosetta_source/tools/build/options.settings. Chances are very good it will work; if it doesn’t I will try to offer compilation fixes but with no copy of 4.7 to test against they may be shots in the dark.
-
August 23, 2012 at 4:48 pm #7689Anonymous
Thanks – I compiled in 4.7 but got:
scons: *** [build/src/release/linux/3.5/64/x86/gcc/4.7/mpi/protocols/jd2/SingleFileBuffer.os] Error 1
both in serial and in mpi mode. I also tried to compile a singe protocol (relax) but still got the same.
Any idea how I can fix it?
Alternatively, is there eny flag that tells to scons.py which compiler version to use? Which files will I need from the following?
-
August 23, 2012 at 6:04 pm #7691Anonymous
I am sorry. Here’s the output:
$ scons bin mode=release
scons: Reading SConscript files …
Running versioning script … svn: E155007: ‘/home/thomas/Programs/Rosetta3.4/rosetta_source’ is not a working copy
Done. (0.0 seconds)
scons: done reading SConscript files.
scons: Building targets …
g++ -o build/src/release/linux/3.5/64/x86/gcc/4.7/protocols/jd2/SingleFileBuffer.os -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 -fPIC -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.7 -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/protocols/jd2/SingleFileBuffer.cc
src/protocols/jd2/SingleFileBuffer.cc: In constructor ‘protocols::jd2::WriteFileSFB::WriteFileSFB(const string&, core::Size, bool, core::Size&)’:
src/protocols/jd2/SingleFileBuffer.cc:148:13: error: ‘sleep’ was not declared in this scope
scons: *** [build/src/release/linux/3.5/64/x86/gcc/4.7/protocols/jd2/SingleFileBuffer.os] Error 1
scons: building terminated because of errors.In the meantime I ‘ll try to compile an older gcc version.
-
August 23, 2012 at 9:50 pm #7693Anonymous
Yes, it worked with #include unistd.h. Thank you!
-
August 23, 2012 at 4:52 pm #7690Anonymous
scons: *** [build/src/release/linux/3.5/64/x86/gcc/4.7/mpi/protocols/jd2/SingleFileBuffer.os] Error 1
This isn’t enough error to diagnose – there should be more error text up above that somewhere. If you aren’t comfortable figuring out which lines I need, just attach the whole thing as .txt. Please compile at -j1 to simplify the log (it should fail quickly).
You can offer scons cxx_ver=4.6 to get gcc 4.6, or 4.5, or whatever. scons bin mode=release cxx_ver=4.6. I don’t know anything about installing other versions of gcc on Fedora (I use Ubuntu and would use synaptic to do it) – ask on the Fedora boards?
-
August 23, 2012 at 6:11 pm #7692Anonymous
Offhand, it needs the
header. If you’ll look in the top of src/protocols/jd2/SingleFileBuffer.cc you’ll see: #ifdef WIN32
#include windows.h // for sleep()
#include ctime // for clock()
#endifCopy the line
#include ctime // for clock()outside of the #ifdef block and see if that works. Failing that, individually try the lines
#include cstdlib
#include stdlib.h
#include unistd.hup at the top with the rest of the includes and see if one of those works. I’m pretty confident one of them will.
NOTE: I had to remove all the angle brackets from my include lines so the HTML won’t eat them – you know how the syntax works? It should be clear from the top of that file.
-
-
AuthorPosts
- You must be logged in to reply to this topic.