dlopen()으로 shared object를 로딩하는 과정에서 에러가 발생하여 dlerror() 함수를 통해 에러의 원인을 확인해 보았습니다.
구글에서 에러 메세지를 이용해 검색하다가 해결의 실마리를 찾았습니다! file 명령어로 파일의 타입을 확인해 보니 executable과 shared library의 파일 타입이 다르더라구요.
'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
aaa.so: ELF-64 shared object file - IA64
$ file a.out
a.out: ELF-32 executable object file - IA64