sudo 액세스 권한이 없을 때 개발 패키지(헤더 등)가 시스템에 사전 설치되지 않은 라이브러리에 의존하는 프로그램을 어떻게 컴파일해야 합니까?
이 특별한 경우에는 Ubuntu 12.04가 있지만 좀 더 일반적인 솔루션을 원했습니다. 이상한 점은 컴파일할 수 있도록 개발 패키지를 설치하는 데 관리자 권한만 필요하다는 것입니다.
답변1
Debian 기반 시스템에서는 제공된 source.list를 사용하여 소스 코드를 얻을 수 있습니다(루트가 아닌 사용자라도). 목록 apt-get source
에는 deb-src 항목이 있습니다. 그렇지 않으면 표준 도구를 사용하여 프로젝트 소스 저장소에서 다운로드할 수 없게 됩니다.
해당 소스가 있으면 다음을 수행하십시오.
./configure --prefix=/home/me/mysoftware
make
make install
autotools 또는 유사한 도구를 사용하여 대부분의 소스 배포판에서 작동합니다.
완료되면 구성 파일에서 LD_LIBRARY_PATH 및 PATH 환경 변수를 설정해야 합니다.
이런 방식으로 설치된 소프트웨어에 의존하는 다른 항목을 구성하는 경우 PKG_CONFIG_PATH, CFLAGS, CXXFLAGS, LDFLAGS 및 기타 구성 매개변수를 설정하여 구성이 특수 설치 경로를 찾는 데 "도움이 되도록"해야 합니다.
물론 루트 액세스 권한이 있는 사람을 위해 지원 티켓을 여는 것이 더 쉬울 수도 있습니다.