geopython / pycsw

pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification [Catalogue Service for the Web]. Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. pycsw allows for the publishing and discovery of geospatial metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X). Please read the docs at https://pycsw.org/docs for more information.
https://pycsw.org
MIT License
206 stars 155 forks source link

Problem installing /usr/bin/ld: cannot find -lz #546

Closed terchris closed 4 years ago

terchris commented 6 years ago

Description

The requirements.txt specifies lxml==3.6.2

When version 4.1.0 is already installed it creates an error. See output below.

Environment

Steps to Reproduce

git clone https://github.com/geopython/pycsw.git cd pycsw pip install -e .

OUTPUT Obtaining file:///usr/lib/ckan/default/src/pycsw Collecting geolinks==0.2.0 (from pycsw==2.1.dev0) /usr/lib/ckan/default/local/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning. SNIMissingWarning /usr/lib/ckan/default/local/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Downloading geolinks-0.2.0.tar.gz Collecting lxml==3.6.2 (from pycsw==2.1.dev0) Downloading lxml-3.6.2.tar.gz (4.3MB) 100% |████████████████████████████████| 4.3MB 316kB/s Collecting OWSLib==0.13.0 (from pycsw==2.1.dev0) Downloading OWSLib-0.13.0.tar.gz (119kB) 100% |████████████████████████████████| 122kB 9.3MB/s Collecting pyproj==1.9.5.1 (from pycsw==2.1.dev0) Downloading pyproj-1.9.5.1.tar.gz (4.4MB) 100% |████████████████████████████████| 4.4MB 305kB/s Collecting Shapely==1.5.17 (from pycsw==2.1.dev0) Downloading Shapely-1.5.17.tar.gz (180kB) 100% |████████████████████████████████| 184kB 6.6MB/s Requirement already satisfied: six==1.10.0 in /usr/lib/ckan/default/lib/python2.7/site-packages (from pycsw==2.1.dev0) Collecting xmltodict==0.10.2 (from pycsw==2.1.dev0) Downloading xmltodict-0.10.2.tar.gz Requirement already satisfied: python-dateutil>=1.5 in /usr/lib/ckan/default/lib/python2.7/site-packages (from OWSLib==0.13.0->pycsw==2.1.dev0) Requirement already satisfied: pytz in /usr/lib/ckan/default/lib/python2.7/site-packages (from OWSLib==0.13.0->pycsw==2.1.dev0) Requirement already satisfied: requests>=1.0 in /usr/lib/ckan/default/lib/python2.7/site-packages (from OWSLib==0.13.0->pycsw==2.1.dev0) Installing collected packages: geolinks, lxml, pyproj, OWSLib, Shapely, xmltodict, pycsw Running setup.py install for geolinks ... done Found existing installation: lxml 4.1.0 Uninstalling lxml-4.1.0: Successfully uninstalled lxml-4.1.0 Running setup.py install for lxml ... error Complete output from command /usr/lib/ckan/default/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-SaZ8yr/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-NVRS16-record/install-record.txt --single-version-externally-managed --compile --install-headers /usr/lib/ckan/default/include/site/python2.7/lxml: Building lxml version 3.6.2. Building without Cython. Using build configuration of libxslt 1.1.28 running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/lxml copying src/lxml/sax.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/builder.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/cssselect.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/init.py -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-2.7/lxml creating build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/init.py -> build/lib.linux-x86_64-2.7/lxml/includes creating build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/defs.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/diff.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/clean.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/builder.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-2.7/lxml/html copying src/lxml/html/init.py -> build/lib.linux-x86_64-2.7/lxml/html creating build/lib.linux-x86_64-2.7/lxml/isoschematron copying src/lxml/isoschematron/init.py -> build/lib.linux-x86_64-2.7/lxml/isoschematron copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-2.7/lxml copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.7/lxml/includes copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-2.7/lxml/includes creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/rng copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/rng creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl creating build/lib.linux-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.linux-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.linux-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.linux-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.linux-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.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1 running build_ext building 'lxml.etree' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src creating build/temp.linux-x86_64-2.7/src/lxml x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -w x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-x86_64-2.7/lxml/etree.so /usr/bin/ld: cannot find -lz collect2: error: ld returned 1 exit status error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------

Rolling back uninstall of lxml Command "/usr/lib/ckan/default/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-SaZ8yr/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-NVRS16-record/install-record.txt --single-version-externally-managed --compile --install-headers /usr/lib/ckan/default/include/site/python2.7/lxml" failed with error code 1 in /tmp/pip-build-SaZ8yr/lxml/ /usr/lib/ckan/default/local/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning

Additional Information

kalxas commented 6 years ago

Can you please report here the version of GCC on your system?