LINUX.ORG.RU

Не компилируется Zabbix


0

0

При компилляции Zabbix 1.4.6 (и других версий) выводятся следующие ошибки:

then mv -f ".deps/zabbix_server-server.Tpo" ".deps/zabbix_server-server.Po"; else rm -f ".deps/zabbix_server-server.Tpo"; exit 1; fi gcc -g -O2 -I/usr/include/pgsql -I/usr/local/include -I/usr/include/gdbm -I/usr/lib/perl5/i386-linux/CORE -I. -I/usr/local/include -o zabbix_server -L/usr/lib -lpq -lnetsnmp -lcrypto -lnetsnmp -lcrypto zabbix_server-evalfunc.o zabbix_server-expression.o zabbix_server-actions.o zabbix_server-operations.o zabbix_server-events.o zabbix_server-zlog.o zabbix_server-functions.o zabbix_server-server.o alerter/libzbxalerter.a discoverer/libzbxdiscoverer.a pinger/libzbxpinger.a poller/libzbxpoller.a housekeeper/libzbxhousekeeper.a timer/libzbxtimer.a trapper/libzbxtrapper.a nodewatcher/libzbxnodewatcher.a utils/libzbxutils.a httppoller/libzbxhttppoller.a watchdog/libzbxwatchdog.a ../../src/libs/zbxsysinfo/libzbxserversysinfo.a ../../src/libs/zbxsysinfo/linux/libspecsysinfo.a ../../src/libs/zbxsysinfo/common/libcommonsysinfo.a ../../src/libs/zbxsysinfo/simple/libsimplesysinfo.a ../../src/libs/zbxlog/libzbxlog.a ../../src/libs/zbxnix/libzbxnix.a ../../src/libs/zbxsys/libzbxsys.a ../../src/libs/zbxconf/libzbxconf.a ../../src/libs/zbxemail/libzbxemail.a ../../src/libs/zbxsms/libzbxsms.a ../../src/libs/zbxdbhigh/libzbxdbhigh.a ../../src/libs/zbxdb/libzbxdb.a ../../src/libs/zbxcommon/libzbxcommon.a ../../src/libs/zbxcrypto/libzbxcrypto.a ../../src/libs/zbxcomms/libzbxcomms.a -lcurl -lnetsnmp -lm -lresolv ../../src/libs/zbxdb/libzbxdb.a(db.o): In function `zbx_db_vselect': /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:695: undefined reference to `PQexec' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:705: undefined reference to `PQresultStatus' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:587: undefined reference to `PQgetvalue' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:588: undefined reference to `PQftype' ../../src/libs/zbxdb/libzbxdb.a(db.o): In function `PG_DBfree_result': /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:530: undefined reference to `PQclear' ../../src/libs/zbxdb/libzbxdb.a(db.o): In function `zbx_db_insert_id': /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:790: undefined reference to `PQgetvalue' ../../src/libs/zbxdb/libzbxdb.a(db.o): In function `zbx_db_vexecute': /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:431: undefined reference to `PQexec' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:439: undefined reference to `PQresultStatus' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:442: undefined reference to `PQresultErrorMessage' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:442: undefined reference to `PQresultStatus' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:442: undefined reference to `PQresStatus' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:452: undefined reference to `PQclear' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:450: undefined reference to `PQntuples' ../../src/libs/zbxdb/libzbxdb.a(db.o): In function `zbx_db_connect': /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:137: undefined reference to `PQsetdbLogin' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:142: undefined reference to `PQstatus' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:137: undefined reference to `PQsetdbLogin' /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:144: undefined reference to `PQerrorMessage' ../../src/libs/zbxdb/libzbxdb.a(db.o): In function `zbx_db_close': /usr/src/zabbix-1.4.6/src/libs/zbxdb/db.c:53: undefined reference to `PQfinish' collect2: ld returned 1 exit status make[3]: *** [zabbix_server] Error 1 make[3]: Leaving directory `/usr/src/zabbix-1.4.6/src/zabbix_server' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory `/usr/src/zabbix-1.4.6/src/zabbix_server' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/usr/src/zabbix-1.4.6/src' make: *** [install-recursive] Error 1

Конфигурирование проходит без проблем... В чем может быть проблема? Файлы постгреса есть. Заранее спасибо.

anonymous

Кривое конфигурирование. не добавляет -lpq
посмотри configure --help, может, там есть явное указание библиотек PosgtreSQL... либо

CFLAGS=$CFLAGS" -lpq" ./configure ...

должно помочь,по идее

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

Да, вроде, есть -lpq... Не помогло это (((. Уже почти неделю не могу поставить.

Configuration:

Detected OS: linux-gnu Install path: /usr/local Compilation arch: linux

Compiler: gcc Compiler flags: -g -O2 -I/usr/include/pgsql -I/usr/local/include -I/usr/include/gdbm -I/usr/lib/perl5/i386-linux/CORE -I. -I/usr/local/include

Enable server: yes With database: PostgreSQL WEB Monitoring via: cURL Native Jabber: no SNMP: net-snmp IPv6: no Linker flags: -lpq -L/usr/lib -lpq -lnetsnmp -lcrypto -lnetsnmp -lcrypto Libraries: -lm -lresolv -lcurl -lnetsnmp

Enable agent: no

LDAP support: no

anonymous
()
Ответ на: комментарий от anonymous

Странно... сейчас увидел - в опциях при линковке есть "-L/usr/lib -lpq -lnetsnmp -lcrypto -lnetsnmp -lcrypto"

Покажи вывод
grep -c 'PQexec' /usr/lib/libpq.so*

Какая версия PostgreSQL установлена? 

Напиши маленький test.c:

#include <stdio.h>
#include <libpq-fe.h>

int main(void){
 PGconn    *conn;
 PGresult   *res;
 conn = PQsetdb(NULL, NULL, NULL, NULL, "template1");
 res = PQexec(conn, "SELECT version();");
 PQclear(res);
 PQfinish(conn);
}

и gcc -I/usr/include/pgsql -lpq test.c

По факту - скомпилит, или нет.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

Вот вывод: grep -c 'PQexec' /usr/lib/libpq.so* /usr/lib/libpq.so:2 /usr/lib/libpq.so.5:2 /usr/lib/libpq.so.5.1:2

Примерно тоже, что и при компилляции Zabbix: gcc -I/usr/include/pgsql -lpq test.c test.c:12:7: warning: no newline at end of file

/tmp/.private/root/ccGhVAjL.o: In function `main':

test.c:(.text+0x26): undefined reference to `PQsetdbLogin'

test.c:(.text+0x3c): undefined reference to `PQexec'

test.c:(.text+0x4d): undefined reference to `PQclear'

test.c:(.text+0x5b): undefined reference to `PQfinish'

collect2: ld returned 1 exit status

Версия PG rpm -qa | grep postg postgresql8.3-8.3.3-alt1

postgresql8.3-perl-8.3.3-alt1

postgresql8.3-server-8.3.3-alt1

postgresql-common-1.0-alt3

postgresql8.3-devel-8.3.3-alt1

anonymous
()
Ответ на: комментарий от anonymous

А вот с таким Makefile компилиться: CC=gcc -O2 -Wall -march=pentium

INC=-I/usr/include/pgsql

LIBS=-L/usr/lib/pgsql/ -L/usr/lib -I/usr/include -lpq

test.o: test.c

${CC} -c ${INC} test.c -o test.o

test: test.o

${CC} ${LIBS} test.o -lpq -o test

default : test.c

${CC} ${INC} ${LIBS} test.c -o test

Далее: make make test

anonymous
()
Ответ на: комментарий от anonymous

> LIBS=-L/usr/lib/pgsql/

ффух... чуть мозг не сломал... привык, понимаешь, к Redhat-based окружению. Ибо у меня всё собирается... :)

Топикстартеру: пробуй с таким путём к библиотеке

Slavaz ★★★★★
()

Опишись о результатах.

Господа, я понимаю, конечно, что лениво, но мне это хоть и just for fun (этакая гимнастика для ума), но не лениво же отвечать и помогать-то...

Slavaz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.