You are here

Pyrosetta build error with anaconda python

4 posts / 0 new
Last post
Pyrosetta build error with anaconda python
#1

Hello:

We are trying to build Pyrosetta from source since we wish to use the Glib's with anaconda python rather that Glibs with the system python.

First I do:

/share/apps/local/anaconda/bin/python DeployPyRosetta.py

then cp BuildPyRosetta.sh to ...../source

cd ....../source

add correct path to /..../anaconda/bin/python at top of  files scons.py, update_options.sh, and update_ResidueType_enum_files.sh.

Then when I choose to build....

in BuildPyrosetta.sh: setting

 

 

#### 1.

 

--python-lib /share/apps/local/anaconda/lib/

 

#### LEADS to NO FILE NAME ADDED AND CANT FIND DIRECTORY

 

cd /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/../ && gcc /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.0.o /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.1.o -shared -lmini -lstdc++ -lz -l/share/apps/local/anaconda/lib/                               -lboost_python  -L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta -L. -L./../../../../ -L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib  -Xlinker -rpath . -Xlinker -rpath ./../../../../ -Xlinker -rpath /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib -Xlinker -rpath rosetta -o /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.so

/usr/bin/ld: cannot find -l/share/apps/local/anaconda/lib/

collect2: ld returned 1 exit status

 

Encounter error while executing: cd /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/../&& gcc /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.0.o /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.1.o -shared -lmini -lstdc++ -lz -l/share/apps/local/anaconda/lib/                               -lboost_python  -L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta -L. -L./../../../../ -L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib  -Xlinker -rpath . -Xlinker -rpath ./../../../../ -Xlinker -rpath /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib -Xlinker -rpath rosetta -o /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.so

[curtisj@entropy source]$ ls /share/apps/local/anaconda/lib/

BugpointPasses.so                         libjpeg.so.8.4.0     

 

 

#### 2.

 

--python-lib /share/apps/local/anaconda/lib/libpython2.7.so.1.0

 

### LEADS TO CANT FIND FILE BUT IT IS THERE!

 

cd

/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/../

&& gcc

/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.0.o

/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.1.o

-shared -lmini -lstdc++ -lz

-l/share/apps/local/anaconda/lib/libpython2.7.so.1.0

-lboost_python

-L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta

-L. -L./../../../../

-L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib

-Xlinker -rpath . -Xlinker -rpath ./../../../../ -Xlinker -rpath

/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib

-Xlinker -rpath rosetta -o

/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.so

/usr/bin/ld: cannot find -l/share/apps/local/anaconda/lib/libpython2.7.so.1.0

collect2: ld returned 1 exit status

 

Wondering if anyone has some insights to offer.

Thank You,

Jsnyderjr

 

Category: 
Post Situation: 
Sun, 2016-05-15 20:45
jasnyderjr

Hi,

 

There has been talk of this on and off, and there may be a clean fix soon.  In the meantime, see this Gist from Steve Bertolani.

Its for Mac, but you may be able to follow it and change just a few things for linux...

https://gist.github.com/sjbertolani/a98553b57c19737dec28

 

Sun, 2016-05-15 21:57
jadolfbr

Thanks for previous response.  I thought I should clearify slightly as the compilation attempt was just a hopeful workaround to the real issue:

1.  We want to run pyrosetta on our cents 6.5 system.  When we try to run rosetta from the monolith release (93) we get the following error when importing from Anaconda python (version 2.1.0 64-bit ; python 2.7.8)

 

>>> import rosetta

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./rosetta.so)

 

 

2. So we attempted to compile pyrosetta using our installed libraries and dependencies as upgrading glib might break legacy components.  When we attempt this … ((( steps to put compilation environment )) we get the following error at the final link stage … whereby the compiler can’t find that anaconda python library 

 

cd /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/../ && gcc /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.0.o /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.1.o -shared -lmini -lstdc++ -lz -l/share/apps/local/anaconda/lib/                               -lboost_python  -L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta -L. -L./../../../../ -L/home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib  -Xlinker -rpath . -Xlinker -rpath ./../../../../ -Xlinker -rpath /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/tools/PyRosetta.develop/PyRosetta.Develop.64/lib -Xlinker -rpath rosetta -o /home/curtisj/programs/rosetta_pyrosetta/rosetta_bin_linux_2016.13.58602_bundle/main/source/build/PyRosetta/linux/namespace/release/rosetta/utility/_utility_.so

/usr/bin/ld: cannot find -l/share/apps/local/anaconda/lib/

collect2: ld returned 1 exit status

 

3. If we run the link command pasted above by itself and put in the full path / name of the python library the command will complete.  But we need the DeployPyRosetta.py script to be able to do this automatically as I am sure that is how it supposed to work and we don’t know what addition compilation / linking / or installation bits that are done after linking this utility.so file.

 

Thanks,

Jasnyderjr

 

Tue, 2016-05-17 16:25
jasnyderjr

Please try to use --python-lib to only specify name of the Python lib (like 'python2.7') and then use -L to specify linking path like: -L /share/apps/local/anaconda/lib

Hope this helps, 

Tue, 2016-05-17 20:17
Sergey