I would like to install 32bit libraries to run dynamically linked code on Ubuntu 14.04.2 LTS operating system.
Tried two commands, none of them work:
Command no. 1:
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
lib32bz2-1.0 : PreDepends: libc6-i386 (>= 2.9-18) but it is not going to be installed
lib32ncurses5 : Depends: lib32tinfo5 (= 5.9+20140118-1ubuntu1) but it is not going to be installed
Depends: libc6-i386 (>= 2.4) but it is not going to be installed
lib32z1 : Depends: libc6-i386 (>= 2.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Command no. 2:
sudo apt-get install ia32-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
lib32z1 lib32ncurses5 lib32bz2-1.0
E: Package 'ia32-libs' has no installation candidate
What is the appropriate command to install 32bit libraries?
Looking through other posts people tell execute the shell commands above to fix the error, but for me the commands do not work.
I've also executed
sudo dpkg --add-architecture i386
since other posts recommended to execute it. It does not seem to help either. When trying to run a file:
./vsim
I get the error
bash: ./vsim: No such file or directory
although the file "vsim" exists:
vsim: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, BuildID[sha1]=31fa816092d910bb32b64ed8ea2a5baa1da6b005, stripped
According to this article from Humble Bundle: https://support.humblebundle.com/hc/en-us/articles/202759400-Installing-32-bit-libs-on-a-64-bit-Linux-system
As of Ubuntu 13.04, ia32-libs was replaced by lib32z1, which in turn depends on libc6-i386. Try the following command:
You may or may not need lib32ncurses5 or lib32bz2-1.0.
You can install lib32tinfo5 as follows:
If you need 32-bit versions of additional libraries for which both 32- and 64-bit versions exist, you can use the suffix :i386 to explicitly install the 32-bit version of the package. For example: