Installing 32 bit packages on Ubuntu 14.04
This had me stumped for a bit, so I’ve written it down. If you have a 64 bit version of Ubuntu and want to install a 32-bit package, you simply add :i386 to the end of the package name like this:
$ sudo apt-get install libstdc++6:i386
However, this didn’t initially work for me as apt-get couldn’t find the package:
$ sudo apt-get install libstdc++6:i386 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libstdc++6 E: Couldn't find any package by regex 'libstdc++6'
It turned out that my installation only had the 64 bit architecture configured which you can tell by running:
$ sudo dpkg --print-architecture amd64 $ sudo dpkg --print-foreign-architectures
Note that there are no foreign architectures, which is the problem.
The solution is to add the i386 architecture first:
$ sudo dpkg --add-architecture i386 $ sudo dpkg --print-foreign-architectures i386
That’s better! Now we need to run an update:
$ sudo apt-get update
Don’t forget this update! I did and wondered why I still had the problem…
Now the installation of the 32-bit package works:
$ sudo apt-get install libstdc++6:i386 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: gcc-4.8-base:i386 gcc-4.9-base:i386 libc6:i386 libgcc1:i386 Suggested packages: glibc-doc:i386 locales:i386 The following NEW packages will be installed: gcc-4.8-base:i386 gcc-4.9-base:i386 libc6:i386 libgcc1:i386 libstdc++6:i386 0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded. Need to get 4,342 kB of archives. After this operation, 11.3 MB of additional disk space will be used. Do you want to continue? [Y/n] Y ... lots of lines as the library installs ...
All done!
Thanks It really helped me out!
Awesome – thanks for this post – you saved me!
sudo apt-get install libstdc++6:i386
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:
bind9-host : Depends: libbind9-140 (= 1:9.10.3.dfsg.P4-8ubuntu1) but it is not going to be installed
Depends: libdns162 (= 1:9.10.3.dfsg.P4-8ubuntu1) but it is not going to be installed
Depends: libisc160 (= 1:9.10.3.dfsg.P4-8ubuntu1) but it is not going to be installed
Depends: libisccfg140 (= 1:9.10.3.dfsg.P4-8ubuntu1) but it is not going to be installed
imagemagick : Depends: imagemagick-6.q16 (= 8:6.8.9.9-7ubuntu5.1)
liblouisutdml-bin : Depends: liblouisutdml6 but it is not going to be installed
libsane : Depends: libgphoto2-6 (>= 2.5.2) but it is not going to be installed
libstdc++6:i386 : Depends: gcc-5-base:i386 (= 5.3.1-14ubuntu2) but it is not going to be installed
shared-mime-info : Depends: libxml2 (>= 2.7.4) but it is not going to be installed
upower : Depends: libimobiledevice6 (>= 0.9.7) but it is not going to be installed
Depends: libplist3 (>= 1.11) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
thanks a lot !
I know this is a couple of years after this article was published but it really helped a lot. Thanks.
+1
Still helpful many years later on Ubuntu 18.04.
Still helpful with 20.04
Will add that I removed 32 from the package name as it is implied by i386 at the end.
Thanks, it works. During the process, it hinted as follows:
You might want to run 'apt –fix-broken install' to correct these.
I followed this command, then succeeded.
ffs, thanks man
its 2021, and im still thanking you for this guide.
You are good man
How can I install 32bit python interpreter
in 64-bit docker ?
Thanks . you saved my day!!!