리눅스 64bit에서 32bit 라이브러리 사용하기

윤찬호·2023년 7월 18일
0

Linux

목록 보기
3/3

제품 테스트를 위해 리눅스에서 32bit JNI 모듈을 실행해야 하는 일이 생겼다.

32bit 리눅스에서 32bit 모듈을 실행하는 경우에는 아무런 문제가 없지만, 32bit 리눅스 장비를 사용할 일이 거의 없으므로 64bit 장비에서 32bit 모듈을 테스트 하려 했지만 실패했다.

모듈 테스트는 커녕 32bit Java를 사용하려고 하니 No such directory or file 이라는 에러가 나왔다. 환경 변수가 잘못 잡힌거라 생각했으나 해당 경로로 직접 들어가서 실행하려해도 No such directory or file 에러가 발생했다.

처음에 에러 내용만 봤을때는 OS bit 문제일 거라고는 전혀 생각이 안 났지만, 해당 오류를 검색해보니 64bit 리눅스에서 32bit 프로그램을 실행하려 했기 때문이라는 것을 알 수 있었다.

No such directory or file에러 외에도 다음과 같은 에러가 발생할 수 있다. The 32bit support is missing. Please install the x86 compatibility...

OS는 64bit이나 실행하려는 앱 패키지는 32bit로 되어 있기 때문에 발생하는 에러인데, x86(32bit) 호환성 패키지를 설치하면 문제가 해결된다.

CentOS
# yum -y install glibc-devel.i686 libstdc++-devel.i686

Ubuntu
# sudo apt-get install ia32-libs


참고
https://m.blog.naver.com/sung_mk1919/221778674439

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

글 잘 봤습니다, 감사합니다.

1개의 답글