Problema de bibliotecas do Ubuntu

2

Eu já fiz essa pergunta em SO , mas parece que o problema é provavelmente com o vinculador.

Então, a questão é:

Estou tentando criar um projeto usando $ make , mas ele falha:

host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.so when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.a when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz 
/usr/bin/ld: cannot find -lz 
collect2: ld returned 1 exit status 
make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1

Agora olhe para esta biblioteca:

$ ls -l /usr/lib/libz.so 
lrwxrwxrwx 1 root root 20 2010-07-07 17:08 /usr/lib/libz.so -> /lib/libz.so.1.2.3.3

$ file /lib/libz.so.1.2.3.3
/lib/libz.so.1.2.3.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

e eu tenho:

$ arch
i686

Eu instalei esta biblioteca assim:

sudo apt-get install libz-dev

Então ... Como eu faço isso? E como faço o Ubuntu fazer o download correto de bibliotecas no futuro? E eu não tenho certeza: esse é o problema real, ou é em outro lugar?

Também não consigo instalar alguns pacotes obrigatórios:

E: Couldn't find package lib32z1-dev
E: Couldn't find package lib32ncurses5-dev

P.S. Ubuntu 10.04 LTS, em execução no Lenovo ThinkPad SL500, CPU Core 2 DUO.

    
por folone 09.07.2010 / 13:34

4 respostas

0

Parece que resolvi esse problema. Eu substituí meu jdk6 por sun-jdk5 (adicionei o repositório de Jaunty) e substituí meu jdk6 padrão por ele:

sudo update-java-alternatives --set java-1.5.0-sun

Eu deixei meu laptop compilando para o final de semana e agora parece que ele foi bem-sucedido.

    
por 12.07.2010 / 10:20
1

Estou tendo este mesmo problema no meu netbook Lenovo s10e Intel Atom executando o Ubuntu 10.04 netbook edition. Depois de incontáveis horas pesquisando na rede por respostas, ouço que isso tem alguma coisa para o Java6 verificar e forçar uma compilação de 64 bits no Clearsilver para sistemas de 32 bits. A solução foi reverter o caminho do clearsilver localizado aqui: link

infelizmente não sei ao certo como fazer isso. Eu usei o recurso de abandono no repositório para remover os links .mk listados, mas isso não alterou o erro.

realmente apreciaria alguma ajuda.

    
por 10.07.2010 / 07:56
0

Os nomes de pacotes canônicos (não "canônicos") para o Lucid Lynx são zlib1g-dev e libncurses5 .

Apenas curioso, você inventou o nome libz-dev ou alguma documentação o levou a isso?

    
por 09.07.2010 / 17:30
0

Seu sistema parece estar em ordem, mas o processo de compilação pode ser quebrado. O make diz a você o comando que ele usa para construir?

    
por 09.07.2010 / 19:53