libxml2 지원으로 Zabbix 5.2 컴파일
이렇게 구성된 Zabbix 5.2를 컴파일하는 데 문제가 있습니다.
# ./configure --enable-server --enable-agent --with-net-snmp --with-libcurl --with-libxml2 --with-postgresql --with-prefix=/usr/local/zabbix5 --verbose
...
checking for PostgreSQL libraries... yes
checking if PostgreSQL version is >= 9.2... yes
checking for Zabbix server/proxy database selection... ok
checking for multirow insert statements... yes
checking for pkg-config... no
checking for pkg-config... no
configure: error: LIBXML2 library not found
지금은 한 설치 libxml2-dev
( apt install libxml2-dev
). 그것은으로 표시 않는 libxml2-dev:amd64
운영 체제이기 때문에, 확실하지 왜 amd64
.
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/libxml-2.0.pc
(에서 설치 한 구성) 과 같은 다른 환경 변수를 설정해 보았습니다 libxml2-dev:amd64
.
왜 이런 일이 발생하는지 또는 어떻게 해결할 수 있는지 모르겠습니다.
운영체제 : Debian 10 amd64
답변
문제를 해결했습니다. 문제는 제가 사용한 소스가 데비안 패키지 ( apt source zabbix-server-pgsql
) 에서 왔고 Zabbix 사이트에서 다운로드 한 소스가 아니라는 것입니다.
이 문제는 일반적인 ./configure; make; make install
방식으로 구축 할 때 발생하는 것으로 보입니다 . 그러나 데비안 패키지를 빌드하면 정상적으로 작동합니다.
dpkg-buildpackage -us -uc -nc
Ubuntu 16.04의 소스에서 Zabbix 5.2를 성공적으로 설치했습니다. libxml2-dev
패키지를 설치 했는데도 동일한 오류가 발생했습니다 . 솔루션을 검색 한 후 하루 동안 오류 로그를 볼 때 아이디어가 떠 올랐습니다.
checking for pkg-config... no
configure: error: LIBXML2 library not found
아마도 pkg-config
패키지를 설치하지 않았기 때문일 것 입니다. 그런 다음 설치하고 구성 명령을 다시 실행하려고했습니다.
sudo apt install pkg-config
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-libcurl --with-libxml2=/usr/bin/xml2-config
놀랍게도 구성이 성공적이었습니다.