오픈 소스 프로젝트의 바이너리를 컴파일하려고 시도해 사용자가 직접 컴파일하지 않아도됩니다.리눅스에서 모든 x86 머신을위한 일반적인 바이너리 만들기
하나의 32 비트 우분투 컴퓨터 "A"에서 생성 된 일부 이진 파일은보고 된 누락 된 .so 파일에 관한 오류와 함께 32 비트 컴퓨터 "B"에서 작동하지 않습니다.
그러나 컴퓨터 "B"에서 처음부터 컴파일하면 모든 오류가 사라집니다.
대상 컴퓨터에서 코드를 컴파일하면 이러한 오류가 사라지게되는 이유가있을 수 있습니까? 나는 "./configure"와 "make"만 실행했다. "make-install"이 아니기 때문에 .so 파일을 전 세계적으로 사용할 수있게 만들지 않았다.
컴파일러가 시스템 라이브러리에 .so 파일이 없음을 감지 할 수 있으며이 경우 정적 라이브러리를 실행 파일에 연결합니까?
i386 패키지가 모든 x86 시스템에서 실행되도록 Ubuntu에서 패키지를 컴파일하는 방법은 무엇입니까?
맞아요, 너무 멀리 뒤로 가지 마세요. RHEL 4에서 바이너리를 컴파일하는 것은 현대 배포판에서 잘 작동하지 않을 것입니다. 최소한 libc가 주된 결정 요소이며, 종종 특정 부 버전에 고정되어 있습니다. – Keith
PS. 이것은 또한 일부 상업용 응용 프로그램이 전체 라이브러리 집합과 함께 제공되므로 LD_LIBRARY_PATH를 사용하여 시스템 라이브러리 대신 라이브러리를 사용할 수 있습니다. 또 다른 옵션은 정적 연결입니다. 잘 작동하는 작은 도구의 경우. – Keith