
Ich muss die 32-Bit-Version von libstdc++.so.6 auf einem 64-Bit-Ubuntu 8.04.2-Server installieren.
als ich es versuchte apt-get install ia32-libs
, hieß es
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.
Aber als ich versuchte, eine PHP-Erweiterung (libpdf_php.so) zu aktivieren, die diese Laufzeitbibliothek verwendet, wurde der folgende Fehler im PHP-Fehlerprotokoll protokolliert.
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#
Antwort1
Sie hätten verwenden können apt-get install lib32stdc++6
.
Antwort2
Warum glauben Sie, dass Sie eine 32-Bit-Version von libstdc++.so.6 benötigen?
Unter der 64-Bit-Version von Ubuntu läuft eine 64-Bit-Version von Apache, auf der wiederum eine 64-Bit-Version von PHP läuft, die jedoch anscheinend keine 32-Bit-Version laden kann libpdf_php.so
, wie die Fehlermeldung besagt.
Es ist unwahrscheinlich, dass die Installation von ia32-libs das Problem lösen wird - ich würde sagen, Sie benötigen eine 64-Bit-Version von libpdf_php.so
Es sieht aus wiepdflibs Websitehat einen separaten Download für die x86-64-Architektur – ich habe das Archiv heruntergeladen und die darin enthaltene .so-Datei ist definitiv 64-Bit.
Antwort3
Das Problem liegt nicht bei libstdc++, sondern bei libpdf_php.so. Sie müssen die 32-Bit-Version dieser Bibliothek herunterladen.