PDA

View Full Version : make error 1beta4


marc
15-12-2005, 09:28
FreeBSD carbon 4.9-STABLE FreeBSD

all related software installed by portscollection with default locations:
net-snmp-5.2.1.2 An extendable SNMP implementation
mysql-client-4.1.15 Multithreaded SQL database (client)

./configure --with-net-snmp --with-mysql --enable-server --enable-agent

error:
carbon: ..c/zabbix-1.1beta4/src/zabbix_server# make
Making all in alerter
Making all in escalator
Making all in housekeeper
Making all in pinger
Making all in poller
Making all in timer
Making all in trapper
gcc -g -O2 -o zabbix_server -L/usr/local/lib/mysql -lmysqlclient -lm -lz -L/usr/local/lib -lnetsnmp -lcrypto evalfunc.o expression.o actions.o zlog.o functions.o server.o ../libs/zbxsysinfo/libzbxsysinfo.a ../libs/zbxsysinfo/freebsd/libzbxsysinfo2.a ../libs/zbxlog/libzbxlog.a ../libs/zbxpid/libzbxpid.a ../libs/zbxconf/libzbxconf.a ../libs/zbxcrypto/libzbxcrypto.a ../libs/zbxnet/libzbxnet.a pinger/libzbxpinger.a poller/libzbxpoller.a escalator/libzbxescalator.a housekeeper/libzbxhousekeeper.a alerter/libzbxalerter.a timer/libzbxtimer.a trapper/libzbxtrapper.a ../libs/zbxemail/libzbxemail.a ../libs/zbxdbhigh/libzbxdbhigh.a ../libs/zbxcommon/libzbxcommon.a -lkvm
functions.o: In function `process_new_value':
/home/marc/zabbix-1.1beta4/src/zabbix_server/functions.c:815: undefined reference to `atoll'
poller/libzbxpoller.a(checks_agent.o): In function `get_value_agent':
/home/marc/zabbix-1.1beta4/src/zabbix_server/poller/checks_agent.c:216: undefined reference to `atoll'
../libs/zbxcommon/libzbxcommon.a(misc.o): In function `set_result_type':
/home/marc/zabbix-1.1beta4/src/libs/zbxcommon/misc.c:188: undefined reference to `atoll'
*** Error code 1

Stop in /home/marc/zabbix-1.1beta4/src/zabbix_server.
*** Error code 1

Stop in /home/marc/zabbix-1.1beta4/src/zabbix_server.

oliver
31-12-2005, 12:55
i had an error which might have the same reason.

Suse 9.2 and mysql 4.1 (mysql.com-default-distribution)

Configure doesn't report fatal errors
./configure --enable-server --enable-agent --with-net-snmp --with-mysql=/usr/local/mysql

But make fails
{...}
gcc -g -O2 -o zabbix_server -L/usr/local/mysql/lib -lmysqlclient -lm -lz -L/usr/lib -lnetsnmp -lcrypto evalfunc.o expression.o actions.o zlog.o functions.o server.o ../libs/zbxsysinfo/libzbxsysinfo.a ../libs/zbxsysinfo/linux/libzbxsysinfo2.a ../libs/zbxlog/libzbxlog.a ../libs/zbxpid/libzbxpid.a ../libs/zbxconf/libzbxconf.a ../libs/zbxcrypto/libzbxcrypto.a ../libs/zbxnet/libzbxnet.a pinger/libzbxpinger.a poller/libzbxpoller.a escalator/libzbxescalator.a housekeeper/libzbxhousekeeper.a alerter/libzbxalerter.a timer/libzbxtimer.a trapper/libzbxtrapper.a ../libs/zbxemail/libzbxemail.a ../libs/zbxdbhigh/libzbxdbhigh.a ../libs/zbxcommon/libzbxcommon.a -lresolv -lnsl
evalfunc.o(.text+0x662): In function `evaluate_FUNCTION':
/usr/src/zabbix-1.1beta4/src/zabbix_server/evalfunc.c:342: undefined reference to `mysql_free_result'
{ ... some more mysql-undefinied-function-errors ... }

I found a tip in the internet that i had to move -lmysqlclient -lm -lz and -lnetsnmp -lcrypto to the end of the gcc-call.

The modification to src/zabbix_server/Makefile was:

120c120
< LIBS = -lresolv -lnsl -lnetsnmp -lcrypto -lmysqlclient -lm -lz
---
> LIBS = -lresolv -lnsl
---
187c187
< zabbix_server_LDFLAGS = -L/usr/local/mysql/lib -L/usr/lib
---
> zabbix_server_LDFLAGS = -L/usr/local/mysql/lib -lmysqlclient -lm -lz -L/usr/lib -lnetsnmp -lcrypto

now, all works fine
gcc -g -O2 -o zabbix_server -L/usr/local/mysql/lib -L/usr/lib evalfunc.o expression.o actions.o zlog.o functions.o server.o ../libs/zbxsysinfo/libzbxsysinfo.a ../libs/zbxsysinfo/linux/libzbxsysinfo2.a ../libs/zbxlog/libzbxlog.a ../libs/zbxpid/libzbxpid.a ../libs/zbxconf/libzbxconf.a ../libs/zbxcrypto/libzbxcrypto.a ../libs/zbxnet/libzbxnet.a pinger/libzbxpinger.a poller/libzbxpoller.a escalator/libzbxescalator.a housekeeper/libzbxhousekeeper.a alerter/libzbxalerter.a timer/libzbxtimer.a trapper/libzbxtrapper.a ../libs/zbxemail/libzbxemail.a ../libs/zbxdbhigh/libzbxdbhigh.a ../libs/zbxcommon/libzbxcommon.a -lresolv -lnsl -lnetsnmp -lcrypto -lmysqlclient -lm -lz


Would be fine if this will be fixed :)

Alexei
01-01-2006, 02:02
It has already been fixed in CVS.

oliver
01-01-2006, 11:20
:) :) great :) :)

lexxa
03-01-2006, 01:53
I tried to compile beta5 on freebsd 4.9 and 4.10 boxes

I have the same errors on than systems

./configure --with-net-snmp --with-mysql --enable-server

after make I got an error

gcc -g -O2 -o zabbix_server -L/usr/local/lib/mysql -L/usr/local/lib evalfunc.o expression.o actions.o zlog.o functions.o server.o ../libs/zbxsysinfo/libzbxsysinfo.a ../libs/zbxsysinfo/freebsd/libzbxsysinfo2.a ../libs/zbxlog/libzbxlog.a ../libs/zbxpid/libzbxpid.a ../libs/zbxconf/libzbxconf.a ../libs/zbxcrypto/libzbxcrypto.a ../libs/zbxnet/libzbxnet.a pinger/libzbxpinger.a poller/libzbxpoller.a escalator/libzbxescalator.a housekeeper/libzbxhousekeeper.a alerter/libzbxalerter.a timer/libzbxtimer.a trapper/libzbxtrapper.a ../libs/zbxemail/libzbxemail.a ../libs/zbxdbhigh/libzbxdbhigh.a ../libs/zbxcommon/libzbxcommon.a -lmysqlclient -lm -lz -lcrypto -lnetsnmp -lkvm
functions.o: In function `process_new_value':
/tmp/zabbix-1.1beta5/src/zabbix_server/functions.c:824: undefined reference to `atoll'
../libs/zbxcommon/libzbxcommon.a(misc.o): In function `set_result_type':
/tmp/zabbix-1.1beta5/src/libs/zbxcommon/misc.c:191: undefined reference to `atoll'
collect2: ld returned 1 exit status
*** Error code 1

Stop in /tmp/zabbix-1.1beta5/src/zabbix_server.
*** Error code 1

Stop in /tmp/zabbix-1.1beta5/src/zabbix_server.
*** Error code 1

Stop in /tmp/zabbix-1.1beta5/src.
*** Error code 1

Stop in /tmp/zabbix-1.1beta5.


pkg_info | grep mysql
mysql-client-4.0.26 Multithreaded SQL database (client)
mysql-server-4.0.26 Multithreaded SQL database (server)
php4-mysql-4.4.1_3

(I tried mysql 4.1 also)

after that I successfully compiled beta5 on freebsd6.0-release without a problem.

Is it possible to compile beta5 on the 4.X branch or only on 5.X/6.0?


/lexxa

Alexei
03-01-2006, 08:38
It seems than FreeBSD 4.x stdlib doesn't have atoll(). Please, change all occurencies of atoll() to atol() to make it work and recompile.