./configure : 누락된 모든 패키지를 즉시 표시합니다.

./configure : 누락된 모든 패키지를 즉시 표시합니다.

autotools를 빌드 시스템으로 사용하여 패키지를 컴파일했습니다( autoreconf, ./configure, make, make install).

./configure패키지가 분실되면 중지하십시오.

누락된 각 패키지에 대해 해당 이름을 찾아보고, apt install package사용할 수 없는 경우 소스에서 컴파일합니다.

그런 다음 ./configure다시 실행하면 충족되지 않은 다른 종속성의 이름이 표시됩니다.

누락된 패킷이 1~2개만 있으면 괜찮습니다. 하지만 19개가 있어요!

libmspack-dev
libglib2.0-dev
libpam0g-dev
libssl-dev
libxml2-dev
libxmlsec1-dev
libx11-dev
libcunit1-dev
libxext-dev
libxinerama-dev
libxi-dev
libxrender-dev
libxrandr-dev
libxtst-dev
libgdk-pixbuf2.0-dev
libgtk-3-dev
libgtkmm-3.0-dev
libtool
dnet

./configure오류를 계속 진행하여 누락된 패키지를 모두 한 번에 표시하여 한 번에 모두 설치할 수 있도록 하고 싶습니다 . 그렇지 않으면 19번을 달리는 것은 ./configure길고 고통스러울 것입니다.apt install

답변1

귀하의 경우 쉬운 방법은 패키지를 설치하는 것입니다 open-vm-tools.

문제를 해결하기 위해 누락된 모든 패키지를 한 번에 나열할 수 있는 확실한 방법은 없습니다. 이는 주로 의도적으로 설계된 것이 아니며 configure스크립트에서 작성자가 무엇이든 할 수 있도록 허용하기 때문입니다. 따라서 진행 방법과 여부를 미리 알 수 있는 방법이 없습니다. 진행하는 것이 안전합니다. 발생할 수 있는 이러한 유형의 문제의 예는 이전 테스트 결과를 기반으로 하는 테스트입니다.예를 들어설치된 프로그램을 확인하고, 설치되지 않은 경우 실패하며, 설치된 경우 후속 테스트에 사용합니다. 프로그램이 존재하지 않는 경우 계속 진행해도 그다지 유용한 결과가 나오지 않습니다.

configure하지만 오류가 발생했을 때 종료되지 않도록 조정하면 유용한 결과를 얻을 수 있는 경우가 많습니다 . 일반적으로 여기 AC_MSG_ERROR에는 AC_MSG_WARN, configure.ac및 사용된 모든 M4 라이브러리를 교체하는 작업이 포함됩니다 configure.ac.

sed -i 's/AC_MSG_ERROR/AC_MSG_WARN/g' configure.ac m4/*.m4
autoreconf -i
./configure ...

"경고:" 메시지를 찾으세요.

configure.ac물론, 소프트웨어를 "제대로" 구축하기 전에 M4 라이브러리를 복원해야 합니다.

더 넓은 관점에서 종속성을 결정하는 다른 방법이 있습니다. 대부분의 경우 문서( README, INSTALL...)에 나열되어 있으며 때로는 인기 있는 배포판에 해당하는 패키지 이름도 있습니다. 또 다른 유용한 점은 configure그 자체로 실행하거나 ./configure --help읽을 수 있다는 것입니다 configure.ac(또는 사용 중인 빌드 도구에 적합한 파일 CMakeLists.txt이면 무엇 이든 가능). meson.build보고 있는 소프트웨어가 Linux 배포판에 패키지되어 있으면 그곳에서도 메타데이터를 볼 수 있습니다. 물론 이는 패키지되는 소프트웨어 버전에만 해당하고 관리자의 패키지 선택 사항( apt showsrc ...Debian 파생 제품)을 반영합니다.

답변2

이 답변은 Debian 및 Ubuntu에 누락된 종속성을 설치하는 빠른 방법을 보여주기 위한 것입니다(제가 올바르게 이해한 경우 실제로 달성하고 싶은 것입니다). 그러나 모든 종속성을 한 번에 보고하는 것에 대한 질문은 다루지 않습니다 ./configure.


빌드하려는 소프트웨어가 이미 저장소에 있는 경우(Ubuntu의 경우처럼 open-vm-tools) 다음을 수행할 수 있습니다.

$ apt-get build-dep <packagename>

그러면 특정 버전의 패키지를 빌드하는 데 필요한 모든 종속성이 설치됩니다. 물론 이는 두 버전 간에 종속성 목록이 다를 수 있기 때문에 동일하지는 않지만 대부분(또는 모든) 누락된 종속성을 설치해야 합니다.

관련 정보