Pip install lxml and gdal in anaconda env

I had persistent problems installing frameworks and packages requiring GDAL or lxml using pip in anaconda env. I am running OSX 10.8 with Anaconda Python 2.7.5 installed. I have Xcode 4.6.3 with command line tools installed.

In packages requiring lxml or GDAL (almost every GIS package), I get clang errors. Usually this is error 1 or error 254. I have the GDAL environment installed and (apparently) working with QGIS (although this applies to system python and not to the Anaconda distribution). I have Anaconda-lxml, which seems to work in scripts inside env. I tried updating lxml so as not to affect. At the end of this question are two registration logs. Sorry the question is a little long ...

Usually recurring tips seem to be to get Xcode and CLT. Like I said, I already did it.

Another idea I saw on the Internet is related to the C compiler used to build the Anaconda Python distribution for OSX. I know absolutely nothing about C compilers, but I know that pip installs packages on system python without any problems. When I start the Python system, I get:

Python 2.7.2 (default, Oct 11 2012, 20:14:37) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin Type "help", "copyright", "credits" or "license" for more information. 

for Anaconda Python, I get:

 Python 2.7.5 |Anaconda 1.6.1 (x86_64)| (default, Jun 28 2013, 22:20:13) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. 

note the difference in the GCC version. It is important?

More recently, an attempt to install kartograph.py failed. After running pip install -r https://raw.github.com/kartograph/kartograph.py/master/requirements.txt from my env I quickly get into the problem with

  Running setup.py egg_info for package lxml /Users/mmoncrief/anaconda/envs/py27/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.3. Building without Cython. Using build configuration of libxslt 1.1.28 Building against libxml2/libxslt in the following directory: /Users/mmoncrief/anaconda/envs/py27/lib warning: no previously-included files found matching '*.py' warning: no files found matching '*.txt' under directory 'src/lxml/tests' Downloading/unpacking ordereddict (from -r https://raw.github.com/kartograph/kartograph.py/master/requirements.txt (line 8)) Downloading ordereddict-1.1.tar.gz Running setup.py egg_info for package ordereddict Downloading/unpacking tinycss (from -r https://raw.github.com/kartograph/kartograph.py/master/requirements.txt (line 9)) Downloading tinycss-0.3.tar.gz (72kB): 72kB downloaded Running setup.py egg_info for package tinycss Building with Cython 0.19.1. no previously-included directories found matching 'docs/_build' Downloading/unpacking argparse (from -r https://raw.github.com/kartograph/kartograph.py/master/requirements.txt (line 10)) Downloading argparse-1.2.1.tar.gz (69kB): 69kB downloaded Running setup.py egg_info for package argparse warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files matching '*.pyo' found anywhere in distribution warning: no previously-included files matching '*.orig' found anywhere in distribution warning: no previously-included files matching '*.rej' found anywhere in distribution no previously-included directories found matching 'doc/_build' no previously-included directories found matching 'env24' no previously-included directories found matching 'env25' no previously-included directories found matching 'env26' no previously-included directories found matching 'env27' Requirement already satisfied (use --upgrade to upgrade): distribute in ./anaconda/envs/py27/lib/python2.7/site-packages (from pykml->-r https://raw.github.com/kartograph/kartograph.py/master/requirements.txt (line 5)) Installing collected packages: GDAL, lxml, ordereddict, tinycss, argparse Running setup.py install for GDAL building 'osgeo._gdal' extension /usr/bin/clang -fno-strict-aliasing -I/Users/mmoncrief/anaconda/envs/py27/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/Users/mmoncrief/anaconda/envs/py27/include/python2.7 -I/Users/mmoncrief/anaconda/envs/py27/lib/python2.7/site-packages/numpy/core/include -I/Library/Frameworks/GDAL.framework/Versions/1.10/include -c extensions/gdal_wrap.cpp -o build/temp.macosx-10.5-x86_64-2.7/extensions/gdal_wrap.o extensions/gdal_wrap.cpp:2230:11: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign] res = SWIG_AddCast(res); ~~~ ^ ~~~ extensions/gdal_wrap.cpp:2233:11: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign] res = SWIG_AddCast(res); ~~~ ^ ~~~ extensions/gdal_wrap.cpp:2853:10: fatal error: 'cpl_port.h' file not found #include "cpl_port.h" ^ 2 warnings and 1 error generated. error: command '/usr/bin/clang' failed with exit status 1 Complete output from command /Users/mmoncrief/anaconda/envs/py27/bin/python -c "import setuptools;__file__='/private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/GDAL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-JGdZ16-record/install-record.txt --single-version-externally-managed: running install running build running build_py creating build creating build/lib.macosx-10.5-x86_64-2.7 copying gdal.py -> build/lib.macosx-10.5-x86_64-2.7 copying ogr.py -> build/lib.macosx-10.5-x86_64-2.7 copying osr.py -> build/lib.macosx-10.5-x86_64-2.7 copying gdalconst.py -> build/lib.macosx-10.5-x86_64-2.7 copying gdalnumeric.py -> build/lib.macosx-10.5-x86_64-2.7 creating build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/gdal.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/gdal_array.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/gdalconst.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/gdalnumeric.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/ogr.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo copying osgeo/osr.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo running build_ext building 'osgeo._gdal' extension creating build/temp.macosx-10.5-x86_64-2.7 creating build/temp.macosx-10.5-x86_64-2.7/extensions /usr/bin/clang -fno-strict-aliasing -I/Users/mmoncrief/anaconda/envs/py27/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/Users/mmoncrief/anaconda/envs/py27/include/python2.7 -I/Users/mmoncrief/anaconda/envs/py27/lib/python2.7/site-packages/numpy/core/include -I/Library/Frameworks/GDAL.framework/Versions/1.10/include -c extensions/gdal_wrap.cpp -o build/temp.macosx-10.5-x86_64-2.7/extensions/gdal_wrap.o extensions/gdal_wrap.cpp:2230:11: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign] res = SWIG_AddCast(res); ~~~ ^ ~~~ extensions/gdal_wrap.cpp:2233:11: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign] res = SWIG_AddCast(res); ~~~ ^ ~~~ extensions/gdal_wrap.cpp:2853:10: fatal error: 'cpl_port.h' file not found #include "cpl_port.h" ^ 2 warnings and 1 error generated. error: command '/usr/bin/clang' failed with exit status 1 ---------------------------------------- Command /Users/mmoncrief/anaconda/envs/py27/bin/python -c "import setuptools;__file__='/private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/GDAL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-JGdZ16-record/install-record.txt --single-version-externally-managed failed with error code 1 in /private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/GDAL Storing complete log in /Users/mmoncrief/.pip/pip.log 

I also had clang errors related to lxml.etree. You will see some of them pinned in the code above. Also, if I just try pip install lxml :

 Downloading/unpacking lxml Running setup.py egg_info for package lxml /Users/mmoncrief/anaconda/envs/py27/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.3. Building without Cython. Using build configuration of libxslt 1.1.28 Building against libxml2/libxslt in the following directory: /Users/mmoncrief/anaconda/envs/py27/lib warning: no files found matching '*.txt' under directory 'src/lxml/tests' Installing collected packages: lxml Running setup.py install for lxml /Users/mmoncrief/anaconda/envs/py27/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.3. Building without Cython. Using build configuration of libxslt 1.1.28 Building against libxml2/libxslt in the following directory: /Users/mmoncrief/anaconda/envs/py27/lib building 'lxml.etree' extension /usr/bin/clang -fno-strict-aliasing -I/Users/mmoncrief/anaconda/envs/py27/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/mmoncrief/anaconda/envs/py27/include -I/Users/mmoncrief/anaconda/envs/py27/include/libxml2 -I/private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/lxml/src/lxml/includes -I/Users/mmoncrief/anaconda/envs/py27/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.5-x86_64-2.7/src/lxml/lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136455:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140541:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [-Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy(((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138476:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy(struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141947:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [-Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy(((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138476:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy(struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160878:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162691:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168247:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170913:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12774:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded-internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. /usr/bin/clang -bundle -undefined dynamic_lookup -L/Users/mmoncrief/anaconda/envs/py27/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.5-x86_64-2.7/src/lxml/lxml.etree.o -L/Users/mmoncrief/anaconda/envs/py27/lib -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.5-x86_64-2.7/lxml/etree.so clang: error: unable to execute command: Segmentation fault: 11 clang: error: linker command failed due to signal (use -v to see invocation) error: command '/usr/bin/clang' failed with exit status 254 Complete output from command /Users/mmoncrief/anaconda/envs/py27/bin/python -c "import setuptools;__file__='/private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-gtlqX_-record/install-record.txt --single-version-externally-managed: /Users/mmoncrief/anaconda/envs/py27/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.2.3. Building without Cython. Using build configuration of libxslt 1.1.28 Building against libxml2/libxslt in the following directory: /Users/mmoncrief/anaconda/envs/py27/lib running install running build running build_py creating build creating build/lib.macosx-10.5-x86_64-2.7 creating build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/_elementpath.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/builder.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/cssselect.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/doctestcompare.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/ElementInclude.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/sax.py -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/usedoctest.py -> build/lib.macosx-10.5-x86_64-2.7/lxml creating build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes creating build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/builder.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/clean.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/defs.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/diff.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/formfill.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/html5parser.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/soupparser.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/html creating build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron copying src/lxml/lxml.etree.h -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/lxml.etree_api.h -> build/lib.macosx-10.5-x86_64-2.7/lxml copying src/lxml/includes/c14n.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/config.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/schematron.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/tree.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/uri.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/xpath.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/xslt.pxd -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/etree_defs.h -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes copying src/lxml/includes/lxml-version.h -> build/lib.macosx-10.5-x86_64-2.7/lxml/includes creating build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources creating build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/rng copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/rng creating build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl creating build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-10.5-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 running build_ext building 'lxml.etree' extension creating build/temp.macosx-10.5-x86_64-2.7 creating build/temp.macosx-10.5-x86_64-2.7/src creating build/temp.macosx-10.5-x86_64-2.7/src/lxml /usr/bin/clang -fno-strict-aliasing -I/Users/mmoncrief/anaconda/envs/py27/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/mmoncrief/anaconda/envs/py27/include -I/Users/mmoncrief/anaconda/envs/py27/include/libxml2 -I/private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/lxml/src/lxml/includes -I/Users/mmoncrief/anaconda/envs/py27/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.5-x86_64-2.7/src/lxml/lxml.etree.o -flat_namespace clang: warning: argument unused during compilation: '-flat_namespace' src/lxml/lxml.etree.c:136455:17: warning: enumeration value '__pyx_e_4lxml_5etree_PARSER_DATA_INVALID' not handled in switch [-Wswitch] switch (__pyx_v_doc_ref->_type) { ^ src/lxml/lxml.etree.c:140541:72: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [-Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy(((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L9;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138476:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy(struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:141947:70: warning: incompatible pointer types passing 'struct __pyx_obj_4lxml_5etree__BaseContext *' to parameter of type 'struct __pyx_obj_4lxml_5etree__XSLTContext *' [-Wincompatible-pointer-types] __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy(((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/lxml/lxml.etree.c:138476:138: note: passing argument to parameter '__pyx_v_self' here static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy(struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) { ^ src/lxml/lxml.etree.c:160878:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:162691:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:168247:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:170913:19: warning: expression result unused [-Wunused-value] PyObject_INIT(o, t); ^ /Users/mmoncrief/anaconda/envs/py27/include/python2.7/objimpl.h:164:69: note: expanded from macro 'PyObject_INIT' ( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) ^ src/lxml/lxml.etree.c:12774:13: warning: function '__pyx_f_4lxml_5etree_displayNode' is not needed and will not be emitted [-Wunneeded-internal-declaration] static void __pyx_f_4lxml_5etree_displayNode(xmlNode *__pyx_v_c_node, PyObject *__pyx_v_indent) { ^ 8 warnings generated. /usr/bin/clang -bundle -undefined dynamic_lookup -L/Users/mmoncrief/anaconda/envs/py27/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.5-x86_64-2.7/src/lxml/lxml.etree.o -L/Users/mmoncrief/anaconda/envs/py27/lib -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.5-x86_64-2.7/lxml/etree.so clang: error: unable to execute command: Segmentation fault: 11 clang: error: linker command failed due to signal (use -v to see invocation) error: command '/usr/bin/clang' failed with exit status 254 ---------------------------------------- Command /Users/mmoncrief/anaconda/envs/py27/bin/python -c "import setuptools;__file__='/private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/lxml/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-gtlqX_-record/install-record.txt --single-version-externally-managed failed with error code 1 in /private/var/folders/l2/zvz4t5rs7pb3n1bc4_bdz6n4cbzgwl/T/pip-build-mmoncrief/lxml Storing complete log in /Users/mmoncrief/.pip/pip.log 

Help would be greatly appreciated. I worked at Anaconda for other applications and would like to stay with this distribution.

+4
source share
2 answers

Here are my $ 0.02, in my experience, installing lxml on OS X always caused problems due to the libmxl2 and libxslt dependencies. The specific problem here is that "cpl_port.h" was not found, assuming you have no headers for gdal on your system, a similar problem with the one I encountered with lxml. I found that this StackExchange gdal package is missing which deals with creating and installing gdal with your specific error using pip and the Ubuntu virtual machine, but the idea is the same. The pip tool must explicitly specify where to find the headers for gdal.

In general, the problem is that OS X puts the headers in non-standard places for the * nix system, and quite often the dependencies are a few changes behind the version used to develop the packages you are trying to install. You can use MacPorts or something similar that will be a piggyback on OS X, creating a Linux-like framework for all your dependencies with more modern library versions, but with virtualization that is becoming so good, and very few production systems that work with OS XI, consider that the decision is much simpler. I am a user with 15 year old Apple, but when it comes to developing Python on Mac, my suggestion uses some kind of virtualization tool, I really like Vagrant with VirtualBox. If you are not going to introduce your Python code in OS on OS X or OS X Server, it is better to develop it on the final production OS, so that during development you know which versions of the dependencies are available, as well as environmental effects. Plus, almost any other OS is easier to install packages like lxml and gdal than OS X, with a simple installation of "sudo apt-get install -y -fix-missing" in Debian variants you can get the missing dependency and just move forward. Vagrant even syncs your source files from host to guest, so you can easily use your rich client IDE.

0
source

Use conda install gdal in terminal, this will extract and install the gdal library

0
source

Source: https://habr.com/ru/post/1498887/


All Articles