libz.so.1: cannot open shared object file
AndroidUbuntuUbuntu 12.04Android Sdk-ToolsAndroid 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.