web-dev-qa-db-ja.com

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#
15

Libstdc ++。so.6の32ビットバージョンが必要だと思う理由は何ですか?

64ビットUbuntuは、64ビットPHPを実行する64ビットApacheを実行しますが、32ビットlibpdf_php.soをロードできないと思われ、エラーメッセージで通知されます。

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

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

3
Sergey

apt-get install lib32stdc++6を使用できました。

31
MadBoy

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

1
Relish