내가 연구중인 프로젝트는 의존성 라이브러리를 내부적으로 다운로드하고 컴파일하는 비표준 배포 시스템을 사용합니다. 이 고치기는 각 라이브러리에 대해 configure
스크립트가 접두사로 컴파일 시스템의 내부 디렉토리를 제공합니다. 그런 다음 make
과 make install
을 실행 한 다음 설치 디렉토리에서 lib/<mylib>.a
파일을 검색하여 컨텐츠를 확인합니다. 이 마지막 단계는 실패합니다.64 비트 OpenSuse 배포판의 Lib 디렉토리
나는 무슨 일이 일어나고 있는지 이해하려고 노력하면서, 나는 저자 중 한 명을 포함하여 무작위 라이브러리 한벌을 스스로 컴파일했습니다. 열린 배포판 (openSUSE, 64 비트)에서는 설치 경로가 /lib
으로 채워지지 않고 대신 /lib64
으로 채워져 있음을 확인했습니다.
이 설정은 배포판의 설정이므로이 설정이 배포판에 포함 된 autotools의 구성과 관련되어 있음을 확신합니다.
이 동작을 변경하거나 시스템에서이 정보를 읽을 수있는 방법이 있습니까 (위에서 언급 한 고비를 패치 할 수 있도록)? 당신의 도움이
업데이트에 대한
감사 : 나는 configure
에 --libdir
플래그에 대해 배웠습니다, 그래서 나는 내 문제를 해결할 수 있다고 생각합니다. 그래도 어떻게 든이 쿼리를 통해 배포를 쿼리하여 (예 : 일부 구성 파일 읽기)이 세부 정보를 알 수있는 방법이 있는지 알고 싶습니다.
autoconf를 실행하지 않으므로 시스템의 autoconf와 아무런 관련이 없습니다. –
@WilliamPursell : 저는 아니지만'configure' 스크립트를 실행하고 있습니다. 내 생각에 OS가 라이브러리를 찾을 것으로 예상되는 곳을 결정하기 위해'configure' 기반 컴파일 시스템이 운영체제의 일부 구성 (예 :'/ etc /'의 일부 파일)을 읽을 수 있습니다. – Dacav
configure 스크립트가/etc /에서 찾으면 이는 패키지의 버그입니다. 나는 당신이 묘사하고있는 행동을 본 적이 없다. 패치 된 버전의 autoconf를 사용하여 configure 스크립트를 생성 할 수 있습니다. configure 스크립트에 "libdir = '$ {exec_prefix}/lib'"줄이 있습니까? –