2015년 5월 21일 목요일

Ubuntu 64bit에서 32bit 프로그램 실행시키기

열심히 개발한 프로그램을 Ubuntu에 넣고 실행했더니 멀쩡하게 있는 파일을 보고 no such file or directory 랍니다...


뭔가... 하고 한참 고민해본 끝에 'file' 명령어를 통해 확인해 봤더니..


ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x42279cc1c0032fe6ca98b0823767b310be3e3a8c, not stripped


바로 눈에 띄는것이 32-bit!!
설치한 Ubuntu는 64bit였습니다. 64bit에서 32bit를 돌리려 하니 서로 호환이 되지 않았던 모양입니다.
이럴 때는 아래와 같이 i386를 먼저 등록해 주세요.


sudo dpkg --add-architecture i386


확인은 아래 명령어를 통해서...


dpkg --print-architectures
dpkg --print-foreign-architectures


i386이 등록된 것을 확인하시고, 아래 명령어를 통해 32bit library를 설치해 줍니다.


sudo apt-get update
sudo apt-get -y install ia32-libs

댓글 없음:

댓글 쓰기