01 November 2009

Getting 32-bit libstdc++.so.5 in {Karmic Koala,Lucid Lynx} on a 64-bit system

The Intel compilers require a 32-bit version of libstdc++.so.5 to function. Getting a copy of that build of that library requires a couple of steps in the latest 64-bit Ubuntu {9.10,10.04}. These have been alluded to in other places.  Just in case someone needs the details, here they are:

  1. Download the i386 libstdc++ package for Jaunty: http://packages.ubuntu.com/jaunty/i386/libstdc++5/download
  2. Unpack the .deb archive using ar vx ~/Desktop/libstdc++5_3.3.6-17ubuntu1_i386.deb
  3. Unpack the resulting data.tar.gz using tar xzvf data.tar.gz
  4. Confirm that you got the 32-bit version using file usr/lib/libstdc++.so.5.0.7
  5. Install the library into /usr/lib32 using sudo install usr/lib/libstdc++.so.5.0.7 /usr/lib32
  6. Change to /usr/lib32 using cd /usr/lib32
  7. Create a symlink to finish the task via sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5
Many thanks to everyone who provided the source material:


Updated 24 April 2010: Appears that this procedure also works on the Lucid Lynx release candidate.

13 comments:

SheeEttin said...

After retrieving the .deb, why not just install it with "sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_i386.deb"?
That way, apt and dpkg know about it.

Rhys Ulerich said...

Will that command succeed, or does it require forcing your way past prereqs? I don't remember if I thought to try it, or if there's a gcc-3.3-base-something-or-other prereq that prevents it from installing.

Anonymous said...

Thank you for your help with this!

Anonymous said...

Debian package is installed perfectly on karmic. http://packages.debian.org/stable/base/libstdc++5

Anonymous said...

Worked like a laser cat in mid-feburary..

THANKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


PS> !!!!!!!!!!!!!!!!!!

Anonymous said...

This really helped thanks.

Jon said...

Hey, this worked great for me, amny thnks for blogging about it.

Anonymous said...

gives me segfault now :(

Rachael said...

!!!YAY!!!! Thankyou *so* much :)

I needed libstdc++5 to get my Lexmark printer (*eeek!*) working and the 64 bit .deb just doesn't seem to work for cups.

Might be worth mentioning for the chap who got the seg fault that gcc-3.3-base is a dependency for libstdc++5. If you're on a 64 bit install the 64 bit .deb seems to work ok with 32 bit libstdc++.so.5

Rachael

kb5yia said...

WOW, Worked GREAT!!!!!!

Anonymous said...

hey rhys! like i said, I used these instructions with limited success... but I just found these instructions, straight from the horse's mouth: http://software.intel.com/en-us/articles/using-intel-compilers-for-linux-with-ubuntu/
...apparently you need 32 AND 64 bit versions of libstdc++5, neither of which is available in the 9.10 repos... i just followed these directions, and things seem to be working fine.
- jz

Anonymous said...

thanks!

Joel Teixeira said...

I've been searching for a solution for it for days, thank you.

Subscribe Subscribe to The Return of Agent Zlerich