64비트OS에서 32비트 프로그램을 돌릴때...
글쓴이: mg2000 / 작성시간: 수, 2010/11/03 - 5:56오후
제가 Fedora 32비트용에서 만든 바이너리를 RedHat Enterprise Linux 64비트용에서 돌릴려고 하니, 다음과 같은 에러가 발생합니다.
./AAAA: error while loading shared libraries: libBBBB.so: ELF file OS ABI invalid
AAAA는 실행 파일이고, libBBBB.so는 제가 만든 so인데요.
에러를 보니, AAAA는 실행이 되고, 아래 libBBBB.so를 못 읽는 것 같은데...
Fedora 64비트에서는 잘 돌아가는데요.
(Fedora 64비트의 경우 필요한 32비트 라이브러리를 설치한 상태이고, RedHat Enterprise Linux는 32비트 라이브러리가 설치되었는지 알 수 없습니다.
Enterprise Linux의 경우 제가 직접 접근할 수 없어서, 기본 라이브러리 문제 때문에 위 에러가 발생하는지 알아야 요청을 하던 말던 할 수 있는 상황이라...)
위 에러는 왜 나는 것일까요? ㅜ.ㅡ
Forums:
.so 의 소스를 가지고
.so 의 소스를 가지고 계실테니 Redhat Enterprise 64 에서 빌드해 주시면 될 것 같네요.
같은 리눅스라도 버전에 따라서/프로세서에 따라서 .so 가 호환이 안될 때도 있더라구요.
32bit 프로그램이라면 관련 라이브러리도
32bit 프로그램이라면 관련 라이브러리도 32bit로 필요합니다.
BBBB를 32bit 환경에서 빌드 (혹은 -m32 옵션을 주고 빌드) 해주시면 될듯합니다.
댓글 달기