Centos 바이너리(프로그램)를 ClearOS에서 실행할 수 있나요?

Centos 바이너리(프로그램)를 ClearOS에서 실행할 수 있나요?

그래서 Centos 6+에서 cmake3를 사용하여 컴파일했지만 ClearOS에서 동일한 작업을 수행하려고 하면 g++가 5.1 이상이어야 한다는 오류가 발생합니까?

내 계획은 컴파일된 centos 프로그램을 클리어로스에 업로드하고 실행할 수 있는지 확인하는 것입니다.

감사해요!

답변1

귀하의 바이너리는 해당 요구 사항(귀하만 알고 있음)을 충족하는 한 다른 Linux 배포판에서 실행되어야 합니다. 사용자(또는 컴파일러)가 커널의 라이브러리나 새로운 기능을 사용하는 경우 문제가 발생할 수 있습니다.

그러나 두 배포판이 비슷한 시기에 출시된다면 문제가 발생할 것으로 예상되지 않습니다.

답변2

CentOS에서 실행되는 바이너리는 프로세서 아키텍처(x86 또는 x86-64 등)가 동일한 경우 다른 Linux 배포판에서도 작동해야 합니다.

고려해야 할 다른 기준은 공유 라이브러리입니다. 프로그램이 정적 라이브러리를 사용하여 빌드된 경우 동일한 아키텍처의 다른 Linux 배포판에서도 확실히 실행됩니다. 그러나 오늘날 대부분의 프로그램은 동적 라이브러리를 사용하여 구축됩니다. 이 경우 필수 라이브러리가 두 시스템 모두에 있어야 합니다.

내 경험에 따르면 vim공유 라이브러리 사용에도 불구하고 간단한 터미널 기반 프로그램(예: 등)의 동일한 실행 가능 바이너리가 모든 Linux 배포판에서 실행됩니다. 대부분의 Linux 배포판은 일부 라이브러리를 비슷한 방식으로 관리하기 때문입니다.nanotop

귀하가 받고 있는 오류는 공유 라이브러리로 인한 것일 수 있습니다. 프로그램이 glibc최신 버전이나 대상 시스템에 존재하지 않는 다른 라이브러리에 대해 컴파일되는 경우가 발생할 수 있습니다.

관련 정보