질문
레거시 애플리케이션의 빌드 프로세스를 이전 Solaris 시스템에서 Linux, 특히 RHEL 7.7로 마이그레이션하려고 합니다. 이 애플리케이션은 원래 Solaris Studio(현재는 Oracle Developer Studio라고 함)를 사용하여 구축되었습니다. 가능한 한 많은 종속성을 설치하고 컴파일 플래그를 조정한 후 코드를 다양한 실행 파일로 컴파일할 수 있었습니다.
명령줄에서 이들 중 하나를 실행하려고 하면 다음과 같은 결과가 나타납니다.
$ ./myexecutable
bash: /path/to/my/myexecutable: /usr/lib/amd64/ld.so.1: bad ELF interpreter: No such file or directory
내 시도
아카이브 파일(파일이라고도 함) 연결을 지원하는 이전 동적 링커를 찾고 있는 것 같습니다 .a
. 심볼릭 링크를 통해 이를 사용하면 ld-linux.so.2
라이브러리가 손상되었다는 오류 메시지가 생성됩니다.
$ ./myexecutable
bash: /path/to/my/myexecutable: Accessing a corrupted shared library
나도 그걸 알아차렸어 /usr/share/man/man8/ld.so.8.gz
. 압축을 풀고 심볼릭 링크를 생성했지만 /usr/lib/amd64/ld.so.1
위와 같은 오류가 발생했습니다.
yum whatprovides
그 버전을 제공하는 것을 찾을 수 없습니다 ld.so.1
. 제가 생각할 수 있는 유일한 다른 일은 해당 버전 glibc
의 소스 코드를 추적하여 ld.so.1
컴파일하는 것입니다.
ld.so.1
RHEL 7.x(AMD64)를 사용하는 방법이나 해당 공유 라이브러리를 사용하지 않고 프로그램을 실행할 수 있는 몇 가지 해결 방법을 알고 있다면 알려주시기 바랍니다.