소스에서 다른 프로젝트를 빌드할 때 모든 종속성을 소스에서 빌드해야 합니까?

소스에서 다른 프로젝트를 빌드할 때 모든 종속성을 소스에서 빌드해야 합니까?

내 배포판의 패키지 저장소에 내가 원하는 tmux 패키지의 현재 버전이 없습니다. tar.gz웹사이트에서 최신 버전의 형식을 다운로드했습니다 . 그러나 ./configure이 작업을 시도할 때 구성에서는 추가 종속성이 필요하다는 메시지를 표시합니다. 내 질문은,소스에서 이러한 종속성을 수동으로 빌드하는 것이 가장 좋은 방법입니까?배포 패키지 관리자를 사용하여 이러한 종속성을 다운로드한다면 가능합니까?그들도 마찬가지야더 이상 사용되지 않고 tmux가 현재 요구하는 것보다 오래된 종속성을 가지게 됩니까?

이 특별한 경우에는 Ubuntu 18.04.4 LTS에서 3.0a를 빌드하려고 하는데 tmux존재하지 않는 패키지가 libevent.

답변1

libevent 버전 42.1이 필요하다고 가정합니다.

패키지 관리자에 libevent 버전 42.5가 있으면 계속해서 설치하세요. 소스에서 빌드할 필요가 없습니다. libevent를 사용하여 소프트웨어를 빌드하려면 해당 개발 패키지(.deb 기반 배포판에는 libevent-dev, RPM 기반 배포판에는 libevent-devel)를 설치해야 합니다.

패키지 관리자에 libevent 버전 40.3만 있는 경우 소스(42.1보다 높은 버전)에서 libevent도 빌드해야 합니다.

권장 사항: 소스에서 빌드하는 모든 항목을 설치합니다 /usr/local( PREFIX이 작업을 수행하기 전에 설정하거나 ./configure이 패키지가 다르게 수행하는 경우 설명서를 읽으십시오). 이렇게 하면 직접 빌드한 것과 패키지 관리자가 설치한 것 사이에 충돌이 발생하지 않습니다. 나는 stow또한 이것을 사용하여 몇 가지 버전을 유지할 수 있습니다.

그것들도 쓸모 없게 될 가능성이 있습니까?

물론 "기회는 있다". 알아내는 유일한 방법은 패키지 관리자를 살펴보는 것입니다. 최신 버전이 업스트림에 존재하는 경우 이는 패키지 관리자에게 최신 버전을 알려주는 좋은 기회일 수 있습니다.

관련 정보