64 ビット マシンに libstdc++.so.6 の 32 ビット バージョンをインストールする方法

64 ビット マシンに libstdc++.so.6 の 32 ビット バージョンをインストールする方法

64 ビット Ubuntu 8.04.2 サーバーに libstdc++.so.6 の 32 ビット バージョンをインストールする必要があります。

試してみたところ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

libstdc++.so.6 の 32 ビット バージョンが必要だと考える理由は何ですか?

64 ビット Ubuntu は 64 ビット Apache を実行し、64 ビット PHP を実行しますが、32 ビットをロードできないようでlibpdf_php.so、エラー メッセージでそのことが示されます。

ia32-libs をインストールしても問題が解決する可能性は低いです。libpdf_php.so の 64 ビット バージョンが必要だと思います。

それは次のようになりますpdflibのウェブサイトx86-64 アーキテクチャ用の個別のダウンロードがあります - アーカイブをダウンロードしましたが、その中の .so ファイルは間違いなく 64 ビットです。

答え3

問題は libstdc++ ではなく、libpdf_php.so にあります。そのライブラリの 32 ビット バージョンをダウンロードする必要があります。

関連情報