20

I need to install the 32-bit version of libstdc++.so.6 on a 64 bit Ubuntu 8.04.2 server.

when i tried apt-get install ia32-libs, it says

root@devserver:~/downloads# apt-get install ia32-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
ia32-libs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 133 not upgraded.

But when i tried to enable a PHP extension (libpdf_php.so), which uses this runtime library following error is logged in php error log.

root@devserver:~/downloads# cat /var/log/apache2/php_error.log
[01-Nov-2011 16:54:09] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/libpdf_php.so' - /usr/lib/php5/20060613/libpdf_php.so: wrong ELF class: ELFCLASS32 in Unknown on line 0
root@devserver:~/downloads#

3 Answers3

37

You could've used apt-get install lib32stdc++6.

MadBoy
  • 601
3

What makes you think you need a 32-bit version of libstdc++.so.6?

64-bit Ubuntu runs 64-bit Apache which runs 64-bit PHP which it seems can't load 32-bit libpdf_php.so, which it tells you in the error message.

It's unlikely that installing ia32-libs will solve the problem - I would say you need 64-bit version of libpdf_php.so

It looks like pdflib's website has a separate download for x86-64 architecture - I downloaded the archive and the .so file inside it is definitely 64-bit.

Sergey
  • 44,353
1

The problem is not with libstdc++, it's with libpdf_php.so. You need to download the 32-bit version of that library.