Opened 7 years ago

Last modified 6 years ago

#1715 assigned defect

distutils finding wrong libpython

Reported by: Tristan Croll Owned by: Greg Couch
Priority: moderate Milestone:
Component: Tool Shed Version:
Keywords: Cc: Greg Couch
Blocked By: Blocking:
Notify when closed: Platform: Linux64 (X11)
Project: ChimeraX

Description

Ever since I installed a system-wide Python 3.7 on my workstation, pip install jobs that require compilation fail messages like the below unless I explicitly put the ChimeraX library directory at the front of LIBRARY_PATH. There must be a way to insert the required -L flag in the default build command?

    /usr/bin/ld: //usr/local/lib/libpython3.7m.a(abstract.o): relocation R_X86_64_32S against symbol `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC

Change History (5)

comment:1 by Eric Pettersen, 7 years ago

Cc: Greg Couch added
Component: PlatformTool Shed
Owner: changed from Eric Pettersen to Conrad Huang

comment:2 by Greg Couch, 7 years ago

Are you using CHIMERAX/bin/pip install? Instead, you should use CHIMERAX/bin/ChimeraX -m pip install or CHIMERAX/bin/python3.7 -m pip install, where CHIMERAX is the installation of ChimeraX you're using.

in reply to:  3 ; comment:3 by tic20@…, 7 years ago

I always use either {{{CHIMERAX/bin/ChimeraX -m pip install}}} or 
{{{CHIMERAX/bin/python3.7 -m pip install}}} (the latter in this case).

On 2019-02-19 21:31, ChimeraX wrote:

comment:4 by Greg Couch, 7 years ago

Good, just wanted to be clear.

Looking closer at the distutils, it looks like there's some recognition of this problem, but only partial solutions. I hope Conrad can find a better fix :-). Your LD_LIBRARY_PATH workaround should probably be adopted by the bundle_builder bundle as well. If you use CHIMERAX/bin/ChimeraX -m pip, we could automatically add in the LD_LIBRARY_PATH.

comment:5 by Greg Couch, 6 years ago

Owner: changed from Conrad Huang to Greg Couch
Note: See TracTickets for help on using tickets.