我需要在 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 位版本。