2017-07-16 5 views
1

J'utilise NetBSD 7.1 et j'essaye d'installer le paquet lxml de Python, en utilisant pip.Impossible de compiler lxml en utilisant pip et NetBSD

Cependant, je reçois cette erreur de compilation:

# pip install lxml 
Collecting lxml 
    Using cached lxml-3.8.0.tar.gz 
Installing collected packages: lxml 
    Running setup.py install for lxml ... error 
    Complete output from command /usr/pkg/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-Xb5RT3/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-N6HUOc-record/install-record.txt --single-version-externally-managed --compile: 
    Building lxml version 3.8.0. 
    Building without Cython. 
    Using build configuration of libxslt 1.1.29 
    Building against libxml2/libxslt in one of the following directories: 
     /usr/pkg/lib 
     /usr/lib 
    running install 
    running build 
    running build_py 
    creating build 
    creating build/lib.netbsd-7.1-amd64-2.7 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/sax.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/_elementpath.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/builder.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/ElementInclude.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/__init__.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/usedoctest.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/cssselect.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/pyclasslookup.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/doctestcompare.py -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/__init__.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/diff.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/ElementSoup.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/html5parser.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/builder.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/__init__.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/usedoctest.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/_setmixin.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/clean.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/soupparser.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/_html5builder.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/_diffcommand.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/formfill.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    copying src/lxml/html/defs.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/html 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron 
    copying src/lxml/isoschematron/__init__.py -> build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron 
    copying src/lxml/lxml.etree.h -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/lxml.etree_api.h -> build/lib.netbsd-7.1-amd64-2.7/lxml 
    copying src/lxml/includes/etreepublic.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/xinclude.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/xmlerror.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/htmlparser.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/config.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/xmlschema.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/uri.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/xslt.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/tree.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/xmlparser.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/xpath.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/relaxng.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/c14n.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/schematron.pxd -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/etree_defs.h -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    copying src/lxml/includes/lxml-version.h -> build/lib.netbsd-7.1-amd64-2.7/lxml/includes 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/rng 
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/rng 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl 
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl 
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl 
    creating build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.netbsd-7.1-amd64-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.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.netbsd-7.1-amd64-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.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.netbsd-7.1-amd64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 
    running build_ext 
    building 'lxml.etree' extension 
    creating build/temp.netbsd-7.1-amd64-2.7 
    creating build/temp.netbsd-7.1-amd64-2.7/src 
    creating build/temp.netbsd-7.1-amd64-2.7/src/lxml 
    gcc -fno-strict-aliasing -O2 -pthread -I/usr/include -I/usr/pkg/include -DNDEBUG -O2 -pthread -I/usr/include -I/usr/pkg/include -fPIC -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/include -Isrc/lxml/includes -I/usr/pkg/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.netbsd-7.1-amd64-2.7/src/lxml/lxml.etree.o -w 
    In file included from /usr/pkg/include/libxml2/limits.h:168:0, 
        from /usr/pkg/include/libxml2/syslimits.h:7, 
        from /usr/pkg/include/libxml2/limits.h:34, 
        from /usr/pkg/include/python2.7/Python.h:19, 
        from src/lxml/lxml.etree.c:84: 
    /usr/pkg/gcc5/lib/gcc/x86_64--netbsd/5.4.0/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory 
    compilation terminated. 
    Compile failed: command 'gcc' failed with exit status 1 
    creating tmp 
    cc -I/usr/pkg/include -I/usr/pkg/include/libxml2 -I/usr/include -I/usr/include/libxml2 -c /tmp/xmlXPathInit_nXifU.c -o tmp/xmlXPathInit_nXifU.o 
    unable to execute 'cc': No such file or directory 
    ********************************************************************************* 
    Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed? 
    ********************************************************************************* 
    error: command 'gcc' failed with exit status 1 

    ---------------------------------------- 
Command "/usr/pkg/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-Xb5RT3/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-N6HUOc-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-Xb5RT3/lxml/ 

Je suis sur un NetBSD propre 7.1 installation minimale, mais ont ajouté ce qui suit à l'aide pkgsrc:

# pkg_info 
xmlcatmgr-2.2nb1 XML and SGML catalog manager 
libxml2-2.9.4nb3 XML parser library from the GNOME project 
libgpg-error-1.27 Definitions of common error values for all GnuPG components 
libgcrypt-1.7.6  GNU cryptographic library 
libxslt-1.1.29nb2 XSLT parser library from the GNOME project 
mozilla-rootcerts-1.0.20170121nb5 Root CA certificates from the Mozilla Project 
libffi-3.2.1nb2  Foreign function interface 
python27-2.7.13nb1 Interpreted, interactive, object-oriented programming language 
py27-expat-2.7.13 Python interface to expat 
py27-appdirs-1.4.0 Module for determining appropriate, platform-specific dirs 
py27-pyparsing-2.1.10 Pyparsing module for Python 
py27-six-1.10.0  Python 2 and 3 compatibility utilities 
py27-packaging-16.8 Core utilities for Python packages 
py27-setuptools-34.3.2 New Python packaging system 
py27-pip-9.0.1  Installs Python packages as an easy_install replacement 
libxml-1.8.17nb4 XML parser (version 1), mainly used by the GNOME project 
py27-libxml2-2.9.4nb2 Python wrapper for libxml2 
py27-libxslt-1.1.29 Python wrapper for libxslt 
gccmakedep-1.0.3 Create dependencies in Makefiles using gcc 
gcc5-5.4.0nb2  The GNU Compiler Collection (GCC) - 5 Release Series 
boost-headers-1.63.0 Free, peer-reviewed portable C++ source libraries (build-time headers) 
compat_headers-0.2 Compatibility headers 
+0

Cela ressemble à un [problème] (https://encrypted.google.com/search?hl=fr&pws=0&q=%22%2Finclude-fixed%2Flimits.h%22+gcc) avec gcc ou sa configuration. – phd

Répondre

1

Cela est dû au compilateur n'est pas installé, car il ne fait pas partie du paquet "installation minimale".

Pour garder les choses au minimum, vous pouvez choisir l'option "Installation personnalisée" et régler Compiler Tools sur "Oui".

Une autre façon est de télécharger et installer le comp.tgz manuellement:

# cd/
# ftp ftp://ftp.netbsd.org (as an anonymous user) 
> cd pub/NetBSD/NetBSD-7.1/amd64/binary/sets 
> get comp.tgz 
> exit 
# tar --unlink -zxvpf comp.tgz 

Plus de détails disponibles sur NetBSD's FAQ.