64비트 시스템에 libstdc++.so.6의 32비트 버전을 설치하는 방법

64비트 시스템에 libstdc++.so.6의 32비트 버전을 설치하는 방법

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

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

문제는 libstdc++에 있는 것이 아니라 libpdf_php.so에 있습니다. 해당 라이브러리의 32비트 버전을 다운로드해야 합니다.

관련 정보