libz.so.1: cannot open shared object file

AndroidUbuntuUbuntu 12.04Android Sdk-Tools

Android Problem Overview


I am facing an issue on ubuntu 12.04 as :

> /usr/lib/ndk/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/as: > error while loading shared libraries: libz.so.1: cannot open shared > object file: No such file or directory

I tried

sudo apt-get install lib32z1

But it says

> Reading package lists... Done Building dependency tree Reading > state information... Done lib32z1 is already the newest version. 0 > upgraded, 0 newly installed, 0 to remove and 610 not upgraded.

Please suggest a solution.

Android Solutions


Solution 1 - Android

After checking to which package does the libz.so.1 belongs (http://packages.ubuntu.com/lucid/i386/zlib1g/filelist) you should try to install zlib1g:

sudo apt-get install zlib1g

As pointed by @E-rich, it may be required to add a :i386 suffix to the package name for the package manager correctly identify it:

sudo apt-get install zlib1g:i386


EDIT (for CentOS or other distro that makes use of yum):

If someone using CentOS (or any other distro that makes use of yum) that may end up reading this question, @syslogic proposed the following solution in the comments:

yum install zlib.i686

or, for 32-bit binaries:

yum install zlib.i386

Solution 2 - Android

This worked for me

>sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Solution 3 - Android

For Fedora (can be useful for someone)

sudo dnf install zlib-1.2.8-10.fc24.i686 libgcc-6.1.1-2.fc24.i686

Solution 4 - Android

Check below link: Specially "Install 32 bit libraries (if you're on 64 bit)"

 https://github.com/meteor/meteor/wiki/Mobile-Dev-Install:-Android-on-Linux

Solution 5 - Android

sudo apt-get install zlib1g:i386 fixed the Gradle issue on Android 2.1.1 on Xubuntu 16.04.

Solution 6 - Android

for centos, just zlib didn't solve the problem.I did sudo yum install zlib-devel.i686

Solution 7 - Android

For Arch Linux, it is pacman -S lib32-zlib from multilib, not zlib.

Solution 8 - Android

I've downloaded these packages:

  • libc6-i386
  • lib32stdc++6
  • lib32gcc1
  • lib32ncurses5
  • zlib1g

I then unpacked them and added the directories to LD_LIBRARY_PATH in my ~/.bashrc. Just make sure to add proper dirs to the path.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser3218948View Question on Stackoverflow
Solution 1 - AndroidpahView Answer on Stackoverflow
Solution 2 - AndroidavmView Answer on Stackoverflow
Solution 3 - AndroidMariuszSView Answer on Stackoverflow
Solution 4 - AndroidSoheil KarshenasView Answer on Stackoverflow
Solution 5 - AndroidBogdanView Answer on Stackoverflow
Solution 6 - AndroidTianshiView Answer on Stackoverflow
Solution 7 - AndroidArle CamilleView Answer on Stackoverflow
Solution 8 - AndroidKrzysztof JabłońskiView Answer on Stackoverflow