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 , 7 years ago
| Cc: | added |
|---|---|
| Component: | Platform → Tool Shed |
| Owner: | changed from to |
comment:2 by , 7 years ago
follow-up: 3 comment:3 by , 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 , 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 , 6 years ago
| Owner: | changed from to |
|---|
Are you using
CHIMERAX/bin/pip install? Instead, you should useCHIMERAX/bin/ChimeraX -m pip installorCHIMERAX/bin/python3.7 -m pip install, where CHIMERAX is the installation of ChimeraX you're using.