Rosetta is a very useful program for the prediction of protein structure, folding and interactions be that docking with proteins or ligands.
However, the current version of Rosetta (3.2.1) uses SCons to compile itself on your system. This is usually fine except that these use gcc libraries 4.1 and before.
Ubunutu 11.04 considers anything before gcc v4.4 to be obsolete and you can't install them (even with apt-get).
As a result, a small amount of hacking is required.
First get SCons. Open a new terminal window.
sudo apt-get install scons
Check that the file tree has been updated
sudo apt-get update
Now you can unzip your Rosetta download to wherever you like. I personally put new software into /opt
Change your terminal window to the correct path. So in my case
cd /opt/rosetta
Now in a perfect world, and according to the installation instructions you should be able to type:
scons bin mode=release
And Rosetta will install and compile itself. However, amongst a load of other errors you'll see the root of the problem
KeyError: "Unknown version number 4.5 for compiler 'gcc'"
Now, the first thing I tried was to specify a fixed gcc version for SCons to run
scons bin mode=release cxx=gcc cxx_ver=4.4
But this doesn't work as gcc v4.4 is still too new. And any version before 4.4 isnt supported by Ubuntu.
The solution
This isnt a short or elegant solution, but it is a solution that got Rosetta to install for me. If you have any troubles yourself I recommend you head on over to the Rosetta forums.
Install zlib
Install zlib (developer version) to ensure all your necessary libraries are installed
sudo apt-get install zlib1g-dev
sudo apt-get update
basic.settings
In /rosetta_path/tools/build there is the file basic.settings
At line 203, I needed to add
"gcc, 4.5" : {"appends" : {"version" : [ "4", "5" ],"flags" : {"compile" : [ "-param inline-unit-growth=1000","-param large-function-growth=50000" ],},},},
I didnt change line 329 but you can for completeness if you so wish.
options.settings
In /rosetta_path/tools/build there is the file options.settings
Line 11 and 12 now read
"cxx" : {"gcc" : [ "3.3", "3.4", "4.0", "4.1", "4.2", "4.3","4.4","4.5", "*" ],
So as to include v4.4 and 4.5
util.cc
Finally and most importantly, in /rosetta_path/src/core/conformation/symmetry open util.cc. At line 357 there is an if statement. What we need to do is change the "else" argument so that the reference is correct (I've commented out the old line)
#ifdef WIN32pose::PDBInfoOP pdb_info_src (new pose::PDBInfo( pose.pdb_info() ));#else/// pose::PDBInfoOP pdb_info_src = new pose::PDBInfo::PDBInfo( pose.pdb_info() );pose::PDBInfoOP pdb_info_src = new pose::PDBInfo( pose.pdb_info() );#endif
After which we can now go back to the terminal and type:
scons bin mode=release cxx=gcc cxx_ver=4.5
After some amount of processing time (~30mins on my dual core 2.8 GHz), you should be greeted with the final lines
Install file: "build/src/release/linux/2.6/64/x86/gcc/4.5/super_aln.linuxgccrelease" as "bin/super_aln.linuxgccrelease"scons: done building targets.
Credit goes to those on the Rosetta forums for help.


Add new comment