“/ Usr / bin / ld: no se puede encontrar -lz”

Estoy tratando de comstackr el código fuente de Android en Ubuntu 10.04. Me sale un error al decir,

/ usr / bin / ld: no se puede encontrar -lz

¿Puedes decirme cómo puedo solucionarlo? ¿Qué no cannot find -lz significa? Aquí está el mensaje de error completo:

 external/qemu/Makefile.android:1101: warning: overriding commands for target `external/qemu/android/avd/hw-config-defs.h' external/qemu/Makefile.android:933: warning: ignoring old commands for target `external/qemu/android/avd/hw-config-defs.h' 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 

Y mi salida de versión GCC:

 scheung@scheung-virtual-box:/media/EXTDIV/mydroid$ gcc --version gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

Ya tengo instalada la biblioteca zlib1g-dev :

 $ sudo apt-get install zlib1g-dev Reading package lists... Done Building dependency tree Reading state information... Done zlib1g-dev is already the newest version. 

(Lo entiendo desde este enlace )

Tuve exactamente el mismo error y, al igual que usted, la instalación de zlib1g-dev no lo solucionó. La instalación de lib32z1-dev me ayudó a superarlo. Tengo un sistema de 64 bits y parece que quería la biblioteca de 32 bits.

Para x64 solo instale zlib1g-dev.

 sudo apt-get install zlib1g-dev 

No necesito todas las libs x86;)

sudo apt-get install libz-dev en ubuntu.

Acabo de encontrar este problema y, al contrario de la solución aceptada de “tus archivos make están rotos” y “el host incluye nunca debería incluirse en una comstackción cruzada”

La comstackción de Android incluye muchos ejecutables de host utilizados por el SDK para crear una aplicación de Android. En mi caso, la marca se detuvo al comstackr zipalign, que se usa para optimizar una aplicación antes de instalarla en un dispositivo Android.

Instalando lib32z1-dev resolvió mi problema, en Ubuntu puedes instalarlo con el siguiente comando:

 sudo apt-get install lib32z1-dev 

Significa que le solicitó que incluyera la biblioteca ‘libz.a’ o ‘libz.so’ que contiene un paquete de compresión, y aunque el comstackdor encontró algunos archivos, ninguno de ellos era adecuado para la comstackción que está utilizando.

Necesita cambiar sus parámetros de comstackción o necesita instalar la biblioteca correcta o necesita especificar dónde está la biblioteca correcta en la línea de comando de enlace con una opción de tipo -L/where/it/is/lib .

Otra posible causa: ha pasado: estático al vinculador, pero solo tiene una versión dinámica de libz (libz.so), pero no una versión que se puede vincular estáticamente (libz.a).

Tuve exactamente el mismo error, instalando zlib-devel resolvió mi problema, escriba el comando e instale el paquete zlib.

En Linux:

 sudo apt-get install zlib* 

En Centos:

 sudo yum install zlib* 

Esto le mostrará pistas sobre por qué el enlazador no quiere la biblioteca instalada:

 LD_DEBUG=all make ... 

Tuve el mismo problema en un contexto diferente: mi sistema /lib/libz.so.1 tenía dependencias insatisfechas en libc porque estaba intentando volver a vincular una versión diferente del sistema operativo.

para opensuse 12.3 (Dartmouth) (i586) sudo zypper install zlib-devel zlib-devel-static

Otros han mencionado que lib32z-dev resuelve el problema, pero en general los paquetes necesarios se pueden encontrar aquí:

http://source.android.com/source/initializing.html Consulte “Instalación de paquetes requeridos”