우리는 ImageMagick을 우리 제품과 함께 배송합니다. 꽤 많은 라이브러리가 필요합니다.
libtiff libICE libdl
libfreetype libX11 libglib-2.0
libjpeg libbz2 libxml2
libpng librsvg-2 libz
libfontconfig libgdk_pixbuf-2.0 libm
libXext libm libgomp
libXt libgobject-.0 libpthread
libSM libgmodule-2.0
이러한 라이브러리가 호스트 RedHat 운영 체제에 이미 존재하는지 확인하는 표준 방법이 있습니까?
SO 및 Google에서 검색하면 다음과 같은 명령이 표시됩니다.
pkg-config, 찾아서 무엇을
성공적으로 사용한 사람이 있나요?
답변1
다음 명령 을 시도해 보세요 ldd
.
ldd ImageMagick
ImageMagick 프로그램이 참조하는 동적 공유 개체, 라이브러리 및 라이브러리가 발견되었는지 여부를 인쇄합니다.
답변2
yum을 사용하여 설치하면 누락된 종속성이 표시됩니다.
무엇이 누락되었는지 알고 싶다면 yum-downloadonly 플러그인을 설치하면 됩니다.
yum install -y ImageMagick --다운로드만
그러면 설치하지 않고 누락된 모든 종속성을 다운로드합니다.
rpm을 설치하기 전에 종속성을 찾으려면
rpm -qpR 무언가.rpm
모든 종속 항목을 나열한 다음 검색하여 이러한 항목이 있는지 확인할 수 있지만 너무 복잡해 보입니다. 아마도 yum --downloadonly이면 충분할 것입니다.
답변3
나는 당신이 사용하는 것이 좋습니다 autoconf
; 내부에는 라이브러리에 대해 더미 프로그램을 컴파일하려고 시도하여 존재하는 라이브러리를 자동으로 확인하는 도구가 있습니다. http://www.gnu.org/software/autoconf/manual/ 예:
AC_CHECK_LIB(MagickWand, GetMagickModule)
이는 호출하는 간단한 프로그램을 컴파일하려고 시도합니다 GetMagickModule()
. 프로그램을 실행하려고 시도하는 것이 아니라 컴파일만 시도합니다.
이 autoconf
프로그램은 configure
라이브러리를 확인하기 위해 호출되는 프로그램을 생성합니다. 주요 목적은 결국 Makefile을 생성하는 것이지만 그것이 목표일 필요는 없습니다. 프로그램 configure
은 라이브러리를 확인하고 라이브러리가 없으면 오류를 반환할 수 있습니다.