RedHat 5.x로 컴파일된 Ruby 바이너리가 Fedora 17에서 작동하지 않는 이유는 무엇입니까?

RedHat 5.x로 컴파일된 Ruby 바이너리가 Fedora 17에서 작동하지 않는 이유는 무엇입니까?

RedHat Enterprise Linux 5 시스템에서 Ruby 2.0.0p247 바이너리를 컴파일했습니다. 이 동일한 시스템을 사용하면 require 'net/https'모든 것이 정상입니다.

그러나 바이너리는 공통 응용 프로그램 저장소에 설치되었으며 Fedora Core 17 시스템에서 동일한 명령을 실행하려고 하면 Ruby가 다음 오류 메시지와 함께 실패합니다.

LoadError: libssl.so.6: cannot open shared object file: No such file or directory - /apps/ruby/2.0.0/lib/ruby/2.0.0/x86_64-linux/openssl.so

ls불만이 있는 디렉토리를 찾으면 파일이 거기에 있습니다(그리고 RedHat 시스템에 제대로 로드됩니다). RedHat에서 컴파일한 바이너리는 Fedora와 호환되지 않습니까? Fedora 시스템과 관련된 별도의 위치에 Ruby를 설치하는 것 외에 다른 솔루션이 있습니까?

답변1

RHEL 5.x(특정 버전을 지정하지 않음) 컴파일된 바이너리는 패키지 버전 비호환성으로 인해 Fedora 17에서 작동하지 않는 것이 분명해 보입니다. 특히 libssl이기는 하지만 다른 지원 라이브러리/프로그램도 호환되지 않을 수 있습니다. ...당신이 언급한 것이 유일하게 신고된 것입니다.

일반적으로 기본적으로 동일한 유형의 기본 패키지 구성이 없으면 한 OS 배포판에서 생성된 바이너리가 반드시 다른 OS 배포판에서 작동하는 것은 아닙니다.

관련 정보