dlopen error: Bad magic number

dlopen()으로 shared object를  로딩하는 과정에서 에러가 발생하여 dlerror() 함수를 통해 에러의 원인을 확인해 보았습니다.

‘aaa.so’ is not a valid load module: Bad magic number

구글에서 에러 메세지를 이용해 검색하다가 해결의 실마리를 찾았습니다! file 명령어로 파일의 타입을 확인해 보니 executable과 shared library의 파일 타입이 다르더라구요.

$ file aaa.so
aaa.so:     ELF-64 shared object file – IA64
$ file a.out
a.out:     ELF-32 executable object file – IA64

댓글 남기기