/ usr / bin / ld: não é possível encontrar -lz

4

Estou tentando instalar o lxml em uma máquina virtual rodando o ubuntu / trusty64 em um virtualenv, no entanto, recebo este erro abaixo e não consigo entender minha opinião.

/usr/bin/ld: cannot find -lz

na primeira vez que ocorreu este erro, olhei para a instalação do lz. Instalei-o usando o sudo apt-get install mtools que contém lz mas o erro ainda ocorre, portanto, eu estou pensando que isso poderia ser um problema de link simbólico, talvez um arquivo deve estar ligado a lz, mas não tenho certeza qual arquivo. lz tem um link simbólico para uz mas eu não sei qual o efeito que tem e não quer mudar, caso contrário, ele quebra alguma outra coisa. alguma idéia para me apontar na direção certa?

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

----------------------------------------
Cleaning up...
Command /home/vagrant/.virtualenvs/devenv/bin/python -c "import setuptools, tokenize;__file__='/home/vagrant/.virtualenvs/devenv/build/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-yUqdLy-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/vagrant/.virtualenvs/devenv/include/site/python2.7 failed with error code 1 in /home/vagrant/.virtualenvs/devenv/build/lxml
Storing debug log for failure in /home/vagrant/.pip/pip.log

(devenv)vagrant@vagrant-ubuntu-trusty-64:/vagrant/woowoo/woowoo_webapp$ ls -l /usr/bin/ld
lrwxrwxrwx 1 root root 6 Sep 16 16:11 /usr/bin/ld -> ld.bfd
(devenv)$ vim /usr/bin/ld.bfd 
(devenv)$ ls -l /usr/bin/ld.bfd
-rwxr-xr-x 1 root root 1050912 Sep 16 16:10 /usr/bin/ld.bfd
(devenv)$ ls -l /usr/bin/ld
lrwxrwxrwx 1 root root 6 Sep 16 16:11 /usr/bin/ld -> ld.bfd
(devenv)$ ls -l /usr/bin/lzlrwxrwxrwx 1 root root 2 Oct 10  2013 /usr/bin/lz -> uz
(devenv)$ ls -l /usr/bin/uz
-rwxr-xr-x 1 root root 2496 Oct 10  2013 /usr/bin/uz
    
por Joel 04.01.2016 / 22:16

2 respostas

6

Você precisa instalar as dependências de compilação do lxml para compilá-lo. Tente fazer sudo apt-get build-dep python-lxml se você tiver dados do pacote fonte ativados em suas fontes do apt.

O que está faltando não é o comando lz , mas os arquivos de desenvolvimento da biblioteca zlib. Você precisa instalar o zlib1g-dev para obter isso.

    
por dobey 04.01.2016 / 22:21
0

Experimente um desses três:

  1. sudo apt-get install zlib1g-dev
  2. sudo apt-get install libz-dev
  3. sudo apt-get install lib32z1-dev

o desejo funcionará para você referência a “/ usr / bin / ld: não é possível encontrar -lz” para mais detalhes.

    
por 31.01.2019 / 20:57

Tags