This question already has an answer here:

Recently I upgraded my netbook to Ubuntu 13.04 64-bit from Ubuntu 13.04 beta 2 32-bit.

I want to be able to run 32-bit programs (such as WPS, which is a clone of MS Office 2012) on my PC.

How do I do it? Is there an easy way of doing it via the terminal?

marked as duplicate by Braiam, psusi, don.joey, Andrea Corbellini, karel Jan 3 '14 at 22:43

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 64 bit os can run 32 bit + 64 bit programs , where as 32 bit can run only 32 bit programs the way how come you have upgraded from 32 bit to 64 bit ? – Qasim May 18 '13 at 15:42
  • the reason i did it was because on the download page it says that if you run windows 8 or any uefi firmware you should use the 64bit version. i can not really see much diference to be honest. – Apad121 May 18 '13 at 16:15
  • What program, and why? – psusi May 18 '13 at 16:15
  • i wanted to have it so i could run wps. – Apad121 May 18 '13 at 16:17
  • @apad121 got it .......Suggestion : you should update these details in your question – Qasim May 18 '13 at 19:05
up vote 16 down vote accepted

If you install the 32-bit compatibility libraries, you should be able to run 32 bit programs normally:

sudo apt-get install ia32-libs

Note: if you use Ubuntu 13.10 or higher, you'll need install these packages instead:

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
  • 6
    Please note that this package does not exist in Ubuntu 13.10 any longer. You have to install all the required i386 libraries. – c_korn Oct 13 '13 at 19:22
  • @c_korn which are? – Robin Winslow Dec 26 '13 at 21:53
  • As @c_korn points out, this package can't be installed on newer Ubuntu releases. I've just tried this on 14.04 and didn't work, but this other question turned out to be useful. By running sudo dpkg --add-architecture i386 I've been able to install wine, which was previously causing apt to fail because "the package is not installable". – Genba Nov 21 '14 at 11:10
  • 1
    For Ubuntu versions >= 13.10, use sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 instead. – Fernando Paladini Feb 8 '15 at 15:13

According to the error message that I got trying to install ia32-libs, the following should work to install the replacement libraries.

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

This seems to install correctly, but I am still getting an error when I try to run my 32 bit application:

error while loading shared libraries: wrong ELF class: ELFCLASS64

So evidently there is another step needed.

  • 1
    To get the 32-bit version you should install the packages with a trailing :i386. See this answer for more details. – OSE Dec 5 '13 at 20:34
  • I'm adding a proposed edit that should have been a comment, from an anonymous user: Added info: I have got 32-bit Linux programs to run fine in Ubuntu 14.10 64-bit after not only doing the above line, but also after installing the Wine (ie, the Wine for running 32-bit programs). Wine evidently sets up extra relevant packages which makes also Linux 32-bit programs run better. --A.Tacoma – Sparhawk Dec 21 '14 at 9:09
  • Its not extra setup. It only proves that wine has massive dependency on a lot of system libraries, installing wine just helped you install the i386 version of all these common dependencies. – Ben Dec 21 '17 at 17:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.