How to run old linux code (32bit) on current ubuntu system?
Christofer C. Bell
christofer.c.bell at gmail.com
Sat Jul 27 20:40:23 UTC 2013
On Sat, Jul 27, 2013 at 9:19 AM, Peng Yu <pengyu.ut at gmail.com> wrote:
> On Sat, Jul 27, 2013 at 8:01 AM, Sajan Parikh <sajan at noppix.com> wrote:
> > On 07/27/2013 04:38 AM, Peng Yu wrote:
> >> Hi,
> >> I have some legacy binary code. Is there a way to run it on a current
> >> 64bit ubuntu system?
> >> ~$ file y
> >> y: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
> >> dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not
> >> stripped
> >> ~$ ./y
> >> -bash: ./y: No such file or directory
> > You might get away by installing the 32bit libraries.
> > sajan at volus:~$ sudo apt-cache search ia32-libs
> > ia32-libs - ia32 shared libraries - transitional package
> > ia32-libs-multiarch - Multi-arch versions of former ia32-libraries
> > sajan at volus:~$ sudo apt-get install ia32-libs
> This approach is good. It seems get one step further to make the code
> running. How to resolve the following error? Thanks.
> ~$ ./y
> ./y: relocation error: ./y: symbol errno, version GLIBC_2.0 not
> defined in file libc.so.6 with link time reference
$ sudo apt-get install libc6-i386
I've found that for the 32 apps I run, that's all I need. If the
application still does not run, then use the utility "ldd" on the binary.
It will list the libraries it needs (you must have the above one installed
first) and you can install those by hand.
If there's a better way to do it using multiarch, then I'd encourage doing
"If you wish to make an apple pie from scratch, you must first invent the
Universe." -- Carl Sagan
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ubuntu-users