Hi,
I'm trying to install Rosetta 2019.22 in my Home directory of a cluster (which I have done successfully on a different cluster in the past).
However, I'm getting an error:
-------------------------------------------------------------------
[av51d@c40b05 source]$ python3 scons.py -j 1 mode=release bin
scons: Reading SConscript files ...
Running versioning script ... Release package detected, using rosetta/main/.release.json to acquire version information...
Done. (0.0 seconds)
Number of option files updated: 0
Total 4431 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/8.1/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/ -isystem external/libxml2/include -pipe -Wall -Wextra -pedantic -Wno-long-long -Wno-strict-aliasing ---no-as-needed -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/8.1 -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
g++: error: unrecognized command line option '---no-as-needed'; did you mean '--no-see'?
scons: *** [build/src/release/linux/2.6/64/x86/gcc/8.1/default/apps/public/AbinitioRelax.o] Error 1
scons: building terminated because of errors.
-----------------------------------------------------------------
I've loaded the two modules python3/3.5.0 and g++/8.1.0. The test script rosetta_compiler_test.py passes with flying colors when invoking the g++ compilier and python2.
I've tried compiling with python2, and also with older versions of g++, but that doesn't work.
I promise that I've searched the forum and all of Google, but I can't find others with this issue.
I'm thinking that it's something different in this cluster's architecture that's causing a problem? Am I missing a module or have the wrong version? Please help!
Sincerely and with many thanks,
AJ Vincelli
That's a little curious. It looks like GCC 8.1 is the only version of GCC which adds the --no-as-needed flag. I'm not sure if it's actually needed - especially for the release mode compile. (It was added in a commit which added additional debugging facilities to Rosetta).
The most straightforward way to fix things would probably go into main/source/source/tools/build/basic.settings, find the block for "gcc, 8.1" (around line 400 or so), and then comment out (add a '#' before) the lines with --no-as-needed and then recompile.
I'm not saying that will definitely work - it may reveal an error which its addition was attempting to fix - but it's worth trying to see if it works on your machine.
Oh YAY it worked!!! Thank you so much! I used g++ version 5.4.0, and it works. (I know I had tried g++ version 4 something, but it didn't work then...?)
In case it helps others, I ran the commands:
cd ROSETTA_2019_22/main/source
module load python3/3.5.0
module load g++/5.4.0
python3 scons.py -j 20 mode=release bin