﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
506	pip install overrides LD_LIBRARY_PATH	tic20@…	Conrad Huang	"If I define a little bash script, chimera-python, wrapping ChimeraX's Python:

#!/bin/bash

CHIMERA_HOME=/home/tic20/apps/chimerax

export LD_LIBRARY_PATH=$CHIMERA_HOME/lib:/home/tic20/apps/gcc-4.9.2/lib64

$CHIMERA_HOME/bin/python3.5 $*


... then try:

chimera-python -m pip install lxml

...

I get the output pasted below. The short story is that LD_LIBRARY_PATH appears to have been overridden, and the gcc flags have the library path hard-coded to -L/var/tmp/chimerax_build/develop/chimerax/build/lib.



Collecting lxml
 Using cached lxml-3.7.0.tar.gz
Building wheels for collected packages: lxml
 Running setup.py bdist_wheel for lxml ... error
 Complete output from command /home/tic20/apps/chimerax/bin/python3.5 -u -c ""import setuptools, tokenize;__file__='/tmp/pip-build-ujjcqr36/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"" bdist_wheel -d /tmp/tmpln9kgi9dpip-wheel- --python-tag cp35:
 Building lxml version 3.7.0.
 Building without Cython.
 Using build configuration of libxslt 1.1.28
 Building against libxml2/libxslt in the following directory: /usr/lib64
 running bdist_wheel
 running build
 running build_py
 creating build
 creating build/lib.linux-x86_64-3.5
 creating build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/builder.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/cssselect.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/sax.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/__init__.py -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-3.5/lxml
 creating build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-3.5/lxml/includes
 creating build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/builder.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/clean.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/defs.py -> build/lib.linux-x86_64-3.5/lxml/html
 copying src/lxml/html/diff.py -> build/lib.linux-x86_64-3.5/lxml/html
 creating build/lib.linux-x86_64-3.5/lxml/isoschematron
 copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-3.5/lxml/isoschematron
 copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-3.5/lxml
 copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-3.5/lxml/includes
 copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-3.5/lxml/includes
 creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources
 creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/rng
 copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/rng
 creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl
 copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl
 copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl
 creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
 running build_ext
 building 'lxml.etree' extension
 creating build/temp.linux-x86_64-3.5
 creating build/temp.linux-x86_64-3.5/src
 creating build/temp.linux-x86_64-3.5/src/lxml
 gcc -pipe -fPIC -std=gnu99 -I/var/tmp/chimerax_build/develop/chimerax/build/include -L/var/tmp/chimerax_build/develop/chimerax/build/lib -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/home/tic20/apps/chimerax/include/python3.5m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.5/src/lxml/lxml.etree.o -w
 gcc -pipe -fPIC -std=gnu99 -I/var/tmp/chimerax_build/develop/chimerax/build/include -L/var/tmp/chimerax_build/develop/chimerax/build/lib -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -shared -O3 -Wall -Wextra -Wl,-rpath,/var/tmp/chimerax_build/develop/chimerax/build/lib build/temp.linux-x86_64-3.5/src/lxml/lxml.etree.o -L/usr/lib64 -L/var/tmp/chimerax_build/develop/chimerax/build/lib -lxslt -lexslt -lxml2 -lrt -lz -lm -lpython3.5m -o build/lib.linux-x86_64-3.5/lxml/etree.cpython-35m-x86_64-linux-gnu.so
 /usr/bin/ld: cannot find -lpython3.5m
 collect2: error: ld returned 1 exit status
 error: command 'gcc' failed with exit status 1

 ----------------------------------------
 Failed building wheel for lxml
 Running setup.py clean for lxml
Failed to build lxml
Installing collected packages: lxml
 Running setup.py install for lxml ... error
   Complete output from command /home/tic20/apps/chimerax/bin/python3.5 -u -c ""import setuptools, tokenize;__file__='/tmp/pip-build-ujjcqr36/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"" install --record /tmp/pip-yq0vr531-record/install-record.txt --single-version-externally-managed --compile:
   Building lxml version 3.7.0.
   Building without Cython.
   Using build configuration of libxslt 1.1.28
   Building against libxml2/libxslt in the following directory: /usr/lib64
   running install
   running build
   running build_py
   creating build
   creating build/lib.linux-x86_64-3.5
   creating build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/builder.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/cssselect.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/sax.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/__init__.py -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-3.5/lxml
   creating build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-3.5/lxml/includes
   creating build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/builder.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/clean.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/defs.py -> build/lib.linux-x86_64-3.5/lxml/html
   copying src/lxml/html/diff.py -> build/lib.linux-x86_64-3.5/lxml/html
   creating build/lib.linux-x86_64-3.5/lxml/isoschematron
   copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-3.5/lxml/isoschematron
   copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-3.5/lxml
   copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-3.5/lxml/includes
   copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-3.5/lxml/includes
   creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources
   creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/rng
   copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/rng
   creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl
   copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl
   copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl
   creating build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-3.5/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
   running build_ext
   building 'lxml.etree' extension
   creating build/temp.linux-x86_64-3.5
   creating build/temp.linux-x86_64-3.5/src
   creating build/temp.linux-x86_64-3.5/src/lxml
   gcc -pipe -fPIC -std=gnu99 -I/var/tmp/chimerax_build/develop/chimerax/build/include -L/var/tmp/chimerax_build/develop/chimerax/build/lib -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/home/tic20/apps/chimerax/include/python3.5m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.5/src/lxml/lxml.etree.o -w
   gcc -pipe -fPIC -std=gnu99 -I/var/tmp/chimerax_build/develop/chimerax/build/include -L/var/tmp/chimerax_build/develop/chimerax/build/lib -DUSE_DYLD_GLOBAL_NAMESPACE -pthread -shared -O3 -Wall -Wextra -Wl,-rpath,/var/tmp/chimerax_build/develop/chimerax/build/lib build/temp.linux-x86_64-3.5/src/lxml/lxml.etree.o -L/usr/lib64 -L/var/tmp/chimerax_build/develop/chimerax/build/lib -lxslt -lexslt -lxml2 -lrt -lz -lm -lpython3.5m -o build/lib.linux-x86_64-3.5/lxml/etree.cpython-35m-x86_64-linux-gnu.so
   /usr/bin/ld: cannot find -lpython3.5m
   collect2: error: ld returned 1 exit status
   error: command 'gcc' failed with exit status 1

   ----------------------------------------
Command ""/home/tic20/apps/chimerax/bin/python3.5 -u -c ""import setuptools, tokenize;__file__='/tmp/pip-build-ujjcqr36/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"" install --record /tmp/pip-yq0vr531-record/install-record.txt --single-version-externally-managed --compile"" failed with error code 1 in /tmp/pip-build-ujjcqr36/lxml/"	defect	closed	blocker		Tool Shed		fixed		chimera-programmers@…				all	ChimeraX
