Problem running Pyrosetta on RedHat/CentOS 5

Member Site Forums PyRosetta PyRosetta – Build/Install Problem running Pyrosetta on RedHat/CentOS 5

Viewing 7 reply threads
  • Author
    Posts
    • #954
      Anonymous

        Hi,

        I’m trying to run PyRosetta on the lab’s cluster:
        CentOS release 5.2 (Final)
        Linux version 2.6.18-92.el5 (mockbuild@builder10.centos.org) (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/__init__.py in ()
        9
        10 # double-checked right order…

        —> 11 import utility
        12 import utility.excn
        13

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

        ImportError: rosetta/utility/__utility_all_at_once_.so: wrong ELF class: ELFCLASS64

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

        Python2.5 is installed.

        Replacing libboost_python.so.1.42.0 in /rosetta with the one from the forum (http://www.rosettacommons.org/node/2307), creates this error:
        libboost_python.so.1.42.0: 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?

        -J

      • #5788
        Anonymous

          The first error (ImportError: rosetta/utility/__utility_all_at_once_.so: 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.

        • #5789
          Anonymous

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

          • #5791
            Anonymous

              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…

            • #5793
              Anonymous

                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….

              • #5800
                Anonymous

                  Could you please post output of ‘python -v’?

                • #5806
                  Anonymous

                    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/__init__.py”, line 523, in init
                    v.extend(args)
                    File “/common/madsci/PyRosetta/Program/PyRosetta-r40251.linux.64Bit/rosetta/__init__.py”, 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)

                  • #5963
                    Anonymous

                      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.

                  Viewing 7 reply threads
                  • You must be logged in to reply to this topic.