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


17

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#

답변:


3

32 비트 버전의 libstdc ++. so.6이 필요한 이유는 무엇입니까?

64 비트 우분투는 64 비트 아파치를 실행합니다. 64 비트 PHP는 32 비트를로드 할 수없는 것 같습니다. libpdf_php.so . 오류 메시지에서 알려줍니다.

ia32-libs를 설치하면 문제가 해결 될 것 같지 않습니다. 64 비트 버전의 libpdf_php.so가 필요하다고 말할 수 있습니다.

pdflib의 웹 사이트 에 x86-64 아키텍처를위한 별도의 다운로드가있는 것 같습니다 . 아카이브를 다운로드했으며 그 안에있는 .so 파일은 확실히 64 비트입니다.


33

을 사용할 수 apt-get install lib32stdc++6있습니다.


2
이것은 제목 (64 비트 컴퓨터에 libstdc ++. so.6의 32 비트 버전을 설치하는 방법)의 질문에 대한 답변입니다.
setempler

안녕, 내가 그것을 실행할 때 나 sudo apt-get install lib32stdc++6에게 o / p를주십시오 : The following NEW packages will be installed: lib32stdc++6 그러나, 내가 실행할 때 ls /usr/lib32그것은 존재하지 않습니다. 내가 틀린 곳을 알려주세요. 감사.
AB Bolim

이것은 Ubuntu 14.04에서 Android 소스 빌드를 위해 들소를 실행하는 데 도움이되었습니다.
bonh

1
:i386패키지 이름 뒤에 after 를 추가해야했습니다 (실제로 32 비트 버전의 libstdc ++. so.5 :를 원했습니다 apt-get install libstdc++5:i386)
Steven C. Howell

1

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.