You are here

Problem running Pyrosetta on RedHat/CentOS 5

8 posts / 0 new
Last post
Problem running Pyrosetta on RedHat/CentOS 5


I'm trying to run PyRosetta on the lab's cluster:
CentOS release 5.2 (Final)
Linux version 2.6.18-92.el5 ( (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42))
The architecture is x86_64.

I get this error when trying to import libraries for both PyRosetta Scientific Linux, and Ubuntu (Both 64bit distributions) (Version 2

Python 2.6.4 (r264:75706, Dec 10 2009, 10:49:23)
Type "copyright", "credits" or "license" for more information.

IPython 0.10 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]: from rosetta import *
ImportError Traceback (most recent call last)

/common/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/ in ()

/common/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/rosetta/ in ()
10 # double-checked right order...

---> 11 import utility
12 import utility.excn

/common/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/rosetta/utility/ in ()
----> 1 from __utility_all_at_once_ import *

ImportError: rosetta/utility/ wrong ELF class: ELFCLASS64

Using the 32-bit Ubuntu distribution I get this Error:
ImportError: rosetta/ undefined symbol: PyUnicodeUCS4_AsUTF8String

Python2.5 is installed.

Replacing in /rosetta with the one from the forum (, creates this error: undefined symbol: PyUnicodeUCS4_FromEncodedObject

Is there a newer libbost I should try before asking the admin to rebuild python? Should I try building PyRosetta from source?


Post Situation: 
Fri, 2011-06-17 10:06

The first error (ImportError: rosetta/utility/ wrong ELF class: ELFCLASS64) is basically telling you that trying to run 32bit code on 64bit OS - that obviously would not work. Could it be that headnode of your cluster running the in 64Bit mode but working nodes are 32bit? Try to run 'echo $HOSTTYPE' on that machine and see what you will get.

Sat, 2011-06-18 07:47

The OS is 64bit, the PyRosetta build is 64 bit. Working nodes are 64 bit as well….

Sat, 2011-06-18 20:41

What about the Python, could it be that build of that Python is 32bit? Because otherwise error 'wrong ELF class: ELFCLASS64' does not make any sense...

Sun, 2011-06-19 12:42

Python build is 64bit; both 2.5 and 2.6.4. Makes no sense at all....everything is 64bit! The last thing that we built on it was MPI NAMD, also 64bit....

Mon, 2011-06-20 13:06

Could you please post output of 'python -v'?

Tue, 2011-06-21 17:39

Thanks for the help Sergey.

[jadolfbr@hpccluster ~]$ python -V
Python 2.5.6

After some digging around, it looks like the error was due to pointing of python to a 32bit build through a local bashrc. So, that error is gone.

However, now I get this:

Python 2.5.6 (r256:88840, Jun 16 2011, 08:26:50)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rosetta import *
>>> rosetta.init()
Found minirosetta_database at /common/madsci/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/minirosetta_database, using it...
Traceback (most recent call last):
File "", line 1, in
File "/common/madsci/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/rosetta/", line 523, in init
File "/common/madsci/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/rosetta/", line 105, in extendfunc
for i in othervec: vec.append(i)
Boost.Python.ArgumentError: Python argument types in
vector1_string.append(vector1_string, str)
did not match C++ signature:
append(utility::vector1 > {lvalue}, std::string)

Thu, 2011-06-23 09:20

So it was 32bit - great, it make sense now!

Now, on your last error: You trying to run it with Python 2.5.* - right? - That will not work because it builded for Python 2.6. You can try either build Python 2.6 on that platform or rebuild PyRosetta for Python 2.5.

Wed, 2011-08-17 14:35