Ово су познати проблеми у вези са Zabbix компилацијом из извора. За све остале случајеве погледајте страницу Познати проблеми.
Ако инсталирате PCRE библиотеку са популарног сајта HP-UX пакета http://hpux.connect.org.uk (на пример, из датотеке pcre-8.42-ia64_64-11.31.depot
), само ће 64-битна верзија библиотеке бити инсталирана у /usr/local/lib/hpux64
директоријум.
У овом случају, за успешну компилацију агента, потребна је прилагођена опција за скрипту configure
, на пример:
CFLAGS="+DD64" ./configure --enable-agent --with-libpcre-include=/usr/local/include --with-libpcre-lib=/usr/local/lib/hpux64
Zabbix вам омогућава да наведете библиотеку која се налази на нестандардној локацији. У примеру испод, Zabbix ће покренути curl-config
са наведене нестандардне локације и користити свој излаз да одреди исправан libcurl за употребу.
Ово ће функционисати ако је то једини libcurl инсталиран у систему, али можда неће ако постоји други libcurl инсталиран на стандардној локацији (на пример, од стране менаџера пакета). Такав је случај када вам је потребна новија верзија библиотеке за Zabbix и старија за друге апликације.
Стога, навођење компоненте на нестандардној локацији неће увек функционисати када иста компонента постоји и на стандардној локацији.
На пример, ако користите новији либцурл инсталиран у /usr/local
са libcurl пакетом још увек инсталираним, Zabbix би могао да покупи погрешан и компилација неће успети:
usr/bin/ld: ../../src/libs/zbxhttp/libzbxhttp.a(http.o): у функцији 'zbx_http_convert_to_utf8':
/tmp/zabbix-master/src/libs/zbxhttp/http.c:957: недефинисана референца на 'curl_easy_header'
collect2: error: ld returned 1 статус излаза
Овде функција curl_easy_header()
није доступна у старијем /usr/lib/x86_64-linux-gnu/libcurl.so
, but is available in the newer /usr/local/lib/libcurl.so
.
Проблем лежи у редоследу заставица повезивача, а једно решење је да наведете пуну путању до библиотеке у променљивој LDFLAGS:
$ LDFLAGS="-Wl,--no-as-needed /usr/local/lib/libcurl.so" ./configure --enable-server --with-mysql --with-libcurl=/usr/local/bin/curl-config
Обратите пажњу на опцију -Wl,--no-as-needed
која би могла бити потребна на неким системима (погледајте такође: подразумеване опције повезивања на базираном на Debian-у системи).