2010-06-18 10 views
3

src에서 여러 버전의 패키지 (libX)를 설치하려고합니다. 패키지 (libX)는 Autotools를 사용하여 빌드합니다. ./configure, make, make install 규칙을 따르십시오. 기본적으로 설치되는 패키지는/usr/local/bin과/usr/local/lib로 이동하며/home/user/libX에 다른 버전을 설치하려고합니다.패키지의 여러 버전 설치

다른 문제는 libX가 autotools도 사용하는 다른 패키지 (libY라고 함)에 대한 종속성이라는 것입니다. libY가/home/user/libX에 설치된 버전을 가리 키도록하는 방법은 무엇입니까? 또한 ffmpeg와 같은 시스템 패키지와 src 코드에 최신 svn 버전을 사용하여 src에서 빌드 할 수있는 가능성이 있습니다. 이 경우 내가 무엇을해야합니까? 이 경우 가장 좋은 방법으로 시스템 라이브러리를 손상시키지 마십시오.

저는 Ubuntu 10.04 및 Opensuse 10.3을 사용하고 있습니다.

답변

3

일반적으로 --prefix 옵션을 전달하여 라이브러리를 다른 위치에 설치하도록 구성 할 수 있습니다. 그래서 개인 버전, 당신은 일반적으로 실행할 수 있습니다

./configure --prefix=$HOME/usr/libX 

그리고 등등 $HOME/usr/libX/bin, $HOME/usr/libX/lib, $HOME/usr/libX/etc과에 설치됩니다.

소스에서 libY를 빌드하는 경우 configure 스크립트는 일반적으로 pkg-config 도구를 사용하여 패키지가 저장된 위치를 찾습니다. libX는 $HOME/usr/libX/lib/pkgconfig 디렉토리에 .pc 파일을 포함해야합니다.이 파일은 헤더 및 라이브러리 파일을 찾을 위치를 지정합니다. pkg-config 도구에 먼저 디렉토리를 조사하라고 지시해야합니다.

이 작업은 먼저 디렉토리를 포함하도록 PKG_CONFIG_PATH를 설정하여 수행됩니다. libY를 구성,

PKG_CONFIG_PATH=$HOME/usr/libX/lib/pkgconfig:/usr/local/lib/pkgconfig ./configure 

man pkg-config 세부 사항을 제공해야보십시오.

관련 문제