如何在 64 位机器上安装 32 位版本的 libstdc++.so.6

如何在 64 位机器上安装 32 位版本的 libstdc++.so.6

我需要在 64 位 Ubuntu 8.04.2 服务器上安装 32 位版本的 libstdc++.so.6。

当我尝试时apt-get install ia32-libs,它说

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.

但是当我尝试启用使用此运行库的 PHP 扩展(libpdf_php.so)时,php 错误日志中记录了以下错误。

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#

答案1

您本可以使用apt-get install lib32stdc++6

答案2

什么让您认为您需要 32 位版本的 libstdc++.so.6?

64 位 Ubuntu 运行 64 位 Apache,而 Apache 又运行 64 位 PHP,但它似乎无法加载 32 位libpdf_php.so,错误消息会告诉您这一点。

安装 ia32-libs 不太可能解决问题 - 我想说你需要 64 位版本的 libpdf_php.so

看起来像pdflib 的网站有一个针对 x86-64 架构的单独下载 - 我下载了档案并且里面的 .so 文件绝对是 64 位的。

答案3

问题不在于 libstdc++,而在于 libpdf_php.so。您需要下载该库的 32 位版本。

相关内容