View Full Version : Compile Problem
sgoodliff
04-10-2005, 11:00
Hello All,
OS = RHES4
1.1alpha10 is running on the machine fine, I tried to install to beta1,
"./configure --enable-server --with-mysql --with-net-snmp --prefix=/usr/local/zabbix-1.1beta1"
Works OK, however the make fails with the following,
"poller/libzbxpoller.a(poller.o)(.text+0x1a6): In function `get_minnextcheck':
/tmp/zabbix-1.1beta1/src/zabbix_server/poller/poller.c:132: undefined reference to `mysql_free_result'
poller/libzbxpoller.a(poller.o)(.text+0x261):/tmp/zabbix-1.1beta1/src/zabbix_server/poller/poller.c:165: more undefined references to `mysql_free_result' follow"
There are many errors all have undefined references to mysql_free_result.
Any ideas ?
Perhaps it's struggling to find either your MySQL include dir or lib dir?
Try adding -I/usr/include/mysql -L/usr/lib/mysql (or wherever your mysql files are kept) to the configure line.
I am also having the same problem. I just tried the offered solution and it didn't work. I am on FC3 though...
I tried to go into all the posts I could find about this problem and put a link to this post... Having done that, I should have also done the reverse and put all of them in here.... Maybe next time.
Either way it seems to be a problem with mysql and where and how it was installed. I will attempt to figure out the symlink suggestion, as was in another post, and will post my results.
http://www.zabbix.com/forum/showthread.php?t=1248&highlight=symlink
this seemed to work.... now to continue the configuration....
I had /usr/lib/libmysqlclient.so.14.0.0
but did not have /usr/lib/mysql/libmysqlclient.so
after doing
ln -s /usr/lib/libmysqlclient.so.14.0.0 /usr/lib/mysql/libmysqlclient.so
I ran the ./configure then the make install and it seemed to compile without a problem.
Thanks everyone for your help.
On SuSE Linux 9.1 your solution (with published symlink) works also fine!
Thanks!
sgoodliff
19-10-2005, 16:12
Symlink solution worked a treat.
Thank you
jeremy.lecour
20-10-2005, 23:21
Hi,
I have this :
# ls -l /usr/lib | grep mysql
lrwxrwxrwx 1 root root 26 jan 9 2005 libmysqlclient_r.so -> libmysqlclient_r.so.10.0.0
lrwxrwxrwx 1 root root 26 jan 9 2005 libmysqlclient_r.so.10 -> libmysqlclient_r.so.10.0.0
-rwxr-xr-x 1 root root 230560 sep 11 2003 libmysqlclient_r.so.10.0.0
lrwxrwxrwx 1 root root 24 jan 9 2005 libmysqlclient.so -> libmysqlclient.so.10.0.0
lrwxrwxrwx 1 root root 24 jan 9 2005 libmysqlclient.so.10 -> libmysqlclient.so.10.0.0
-rwxr-xr-x 1 root root 224606 sep 11 2003 libmysqlclient.so.10.0.0
drwxr-xr-x 2 root root 4096 jan 9 2005 mysql
What could I do to fix those compilation errors (zabbix1.1beta2) :
evalfunc.o: In function `evaluate_COUNT':
/home/zabbix/zabbix/src/zabbix_server/evalfunc.c:93: undefined reference to `mysql_free_result'
evalfunc.o: In function `evaluate_SUM':
/home/zabbix/zabbix/src/zabbix_server/evalfunc.c:142: undefined reference to `mysql_free_result'
evalfunc.o: In function `evaluate_AVG':
/home/zabbix/zabbix/src/zabbix_server/evalfunc.c:192: undefined reference to `mysql_free_result'
evalfunc.o: In function `evaluate_MIN':
/home/zabbix/zabbix/src/zabbix_server/evalfunc.c:242: undefined reference to `mysql_free_result'
evalfunc.o: In function `evaluate_MAX':
/home/zabbix/zabbix/src/zabbix_server/evalfunc.c:292: undefined reference to `mysql_free_result'
evalfunc.o:/home/zabbix/zabbix/src/zabbix_server/evalfunc.c:342: more undefined references to `mysql_free_result' follow
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBclose':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:47: undefined reference to `mysql_close'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBconnect':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:66: undefined reference to `mysql_init'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:67: undefined reference to `mysql_real_connect'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:69: undefined reference to `mysql_error'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:70: undefined reference to `mysql_error'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:71: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:71: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:78: undefined reference to `mysql_select_db'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:81: undefined reference to `mysql_error'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:82: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBexecute':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:128: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:128: undefined reference to `mysql_error'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:129: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:129: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:134: undefined reference to `mysql_query'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBselect':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:174: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:174: undefined reference to `mysql_error'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:175: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:175: undefined reference to `mysql_errno'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:180: undefined reference to `mysql_query'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBget_field':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:214: undefined reference to `mysql_data_seek'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:215: undefined reference to `mysql_fetch_row'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:218: undefined reference to `mysql_error'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:219: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBinsert_id':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:236: undefined reference to `mysql_insert_id'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBaffected_rows':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:250: undefined reference to `mysql_affected_rows'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBnum_rows':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:294: undefined reference to `mysql_num_rows'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBget_function_result':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:346: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBget_prev_trigger_value':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:373: undefined reference to `mysql_free_result'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:382: undefined reference to `mysql_free_result'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:389: undefined reference to `mysql_free_result'
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:398: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o):/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:402: more undefined references to `mysql_free_result' follow
../libs/zbxdbhigh/libzbxdbhigh.a(db.o): In function `DBselect':
/home/zabbix/zabbix/src/libs/zbxdbhigh/db.c:182: undefined reference to `mysql_store_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o): In function `DBget_action_by_actionid':
/home/zabbix/zabbix/src/libs/zbxdbhigh/action.c:92: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o): In function `DBadd_action_to_linked_hosts':
/home/zabbix/zabbix/src/libs/zbxdbhigh/action.c:131: undefined reference to `mysql_free_result'
/home/zabbix/zabbix/src/libs/zbxdbhigh/action.c:137: undefined reference to `mysql_free_result'
/home/zabbix/zabbix/src/libs/zbxdbhigh/action.c:177: undefined reference to `mysql_free_result'
/home/zabbix/zabbix/src/libs/zbxdbhigh/action.c:179: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(graph.o):/home/zabbix/zabbix/src/libs/zbxdbhigh/graph.c:105: more undefined references to `mysql_free_result' follow
collect2: ld returned 1 exit status
make[3]: *** [zabbix_server] Erreur 1
make[3]: Quitte le répertoire `/home/zabbix/zabbix/src/zabbix_server'
make[2]: *** [all-recursive] Erreur 1
make[2]: Quitte le répertoire `/home/zabbix/zabbix/src/zabbix_server'
make[1]: *** [all-recursive] Erreur 1
make[1]: Quitte le répertoire `/home/zabbix/zabbix/src'
make: *** [all-recursive] Erreur 1
Thanks for any help
I'm attempting to compile 1.1beta2 and getting the following output:
evalfunc.o(.text+0x81): In function `evaluate_COUNT':
/usr/src/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:93: undefined reference to `mysql_free_result'
evalfunc.o(.text+0x129): In function `evaluate_SUM':
/usr/src/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:142: undefined reference to `mysql_free_result'
evalfunc.o(.text+0x1d5): In function `evaluate_AVG':
/usr/src/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:192: undefined reference to `mysql_free_result'
evalfunc.o(.text+0x289): In function `evaluate_MIN':
/usr/src/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:242: undefined reference to `mysql_free_result'
evalfunc.o(.text+0x33d): In function `evaluate_MAX':
/usr/src/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:292: undefined reference to `mysql_free_result'
evalfunc.o(.text+0x3f1):/usr/src/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:342: more undefined references to `mysql_free_result' follow
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0xc): In function `DBclose':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:47: undefined reference to `mysql_close'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x25): In function `DBconnect':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:66: undefined reference to `mysql_init'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x55):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:67: undefined reference to `mysql_real_connect'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x6d):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:69: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x8d):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:70: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0xa9):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:71: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0xc0):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:71: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x11b):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:78: undefined reference to `mysql_select_db'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x131):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:81: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x151):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:82: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x191): In function `DBexecute':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:124: undefined reference to `mysql_query'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x1b7):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:128: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x1c8):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:128: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x1e5):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:129: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x1fc):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:129: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x24d): In function `DBselect':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:170: undefined reference to `mysql_query'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x26f):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:174: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x280):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:174: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x29d):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:175: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x2b4):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:175: undefined reference to `mysql_errno'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x305): In function `DBget_field':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:214: undefined reference to `mysql_data_seek'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x30d):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:215: undefined reference to `mysql_fetch_row'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x331):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:218: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x351):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:219: undefined reference to `mysql_error'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x38a): In function `DBinsert_id':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:236: undefined reference to `mysql_insert_id'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x39c): In function `DBaffected_rows':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:250: undefined reference to `mysql_affected_rows'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x3ca): In function `DBnum_rows':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:294: undefined reference to `mysql_num_rows'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x475): In function `DBget_function_result':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:346: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x53c): In function `DBget_prev_trigger_value':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:398: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x570):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:373: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x5c6):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:382: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x5f4):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:389: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x664):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:402: more undefined references to `mysql_free_result' follow
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x2dd): In function `DBselect':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:182: undefined reference to `mysql_store_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x10d): In function `DBget_action_by_actionid':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:92: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x307): In function `DBadd_action_to_linked_hosts':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:131: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x33a):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:137: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x5be):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:177: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x5cf):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:179: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(graph.o)(.text+0x154):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/graph.c:105: more undefined references to `mysql_free_result' follow
collect2: ld returned 1 exit status
make[3]: *** [zabbix_server] Error 1
make[3]: Leaving directory `/usr/src/zabbix-1.1beta2/src/zabbix_server'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/zabbix-1.1beta2/src/zabbix_server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/zabbix-1.1beta2/src'
make: *** [all-recursive] Error 1
Linking the libmysqlclient.so did not alleviate the problem..
Any thoughts?
James Wells
25-10-2005, 18:17
Greetings,
Jeremy, Rushowr, could you both please post the command that is being executed when you get the error. I suspect that the command line shows you are not linking against MySQL.
sir, I run the following configure command:
configure --enable-server --enable-client --with-mysql --with-snmp
and then run make
James Wells
25-10-2005, 18:58
configure --enable-server --enable-client --with-mysql --with-snmp
I should have been clearer. When you execute make, it goes through and spits out a lot of stuff as it is compiling. That is what I need. What you and Jeremy are showing, in your previous posts, is just the last couple of lines of the output, which doesn't contain the actual linker command that is being executed. I suspect the error is on the linker command line itself.
Here's the offending command:
gcc -static -g -O2 -o zabbix_server -L/usr/lib/mysql -lmysqlclient -lm -lz 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
Hope this helps, as at this point I've even got the CEO chewin' my ass about getting Zabbix working today or replace it, and I've been hard pressed to find something that works as well as Zabbix for environment we have.
Thanks
James Wells
25-10-2005, 20:13
gcc -static -g -O2 -o zabbix_server -L/usr/lib/mysql -lmysqlclient
Okay, so the linker knows where and what to link for a shared lib build. Check in your /usr/lib/mysql directory to see if you have libmysqlclient.a. If so try this command line;
gcc -static -g -O2 -o zabbix_server -lm -lz 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 /usr/lib/mysqlclient.a
Failing that, the only thing I could suggest at this point would be to try a non-static build and make sure it compiles correctly.
Hello,
I appreciate all your help thus far!
Here's the output of locate libmysqlclient.a
/usr/lib/mysql/libmysqlclient.a
/usr/lib/mysql/lib/mysql/libmysqlclient.a
/usr/src/mysql-4.1.15/libmysql/.libs/libmysqlclient.a
When trying your suggestion, I ran:
configure --with-mysql --enable-server
Here's the relevant output of that:
checking for MySQL support... yes
and then make
Here's the last command being sent by make:
gcc -g -O2 -o zabbix_server -L/usr/lib/mysql -lmysqlclient -lm -lz evalfunc.o expression.o actions.o zlog.o functions.o server.o ../libs/zbxsysinfo/lib zbxsysinfo.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
Here's a few of the errors from make:
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x2dd): In function `DBselect': /usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:182: undefined reference to `mysql_store_result' ../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x10d): In function `DBget_action_by_actionid': /usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:92: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x307): In function `DBadd_action_to_linked_hosts':
/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:131: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x33a):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:137: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x5be):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:177: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x5cf):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:179: undefined reference to `mysql_free_result'
../libs/zbxdbhigh/libzbxdbhigh.a(graph.o)(.text+0x154):/usr/src/zabbix-1.1beta2/src/libs/zbxdbhigh/graph.c:105: more undefined references to `mysql_free_result' follow
So, and it of course did not compile. I even downloaded and recompiled the client binaries with the most recent source available from MySQL.
Any ideas on this?
James Wells
26-10-2005, 01:54
No idea then man. :( I know it's not gonna help ya, but I will try to get a FC / CentOS system going this evening and see if I can work through it. I can't promise anything though. :(
Thanks, I appreciate it.
Anyone else have a possible solution?
This is a CentOS 3 machine, MySQL 4.1.15, PHP5...
Thanks
If you move the existing -lmysqlclient from the middle of the arguments to gcc to the end instead, the compile and link works with no errors.
Observe:
[tez@parodius zabbix_server]$ cat /etc/redhat-release
CentOS release 4.2 (Final)
[tez@parodius zabbix_server]$ gcc -g -O2 -o zabbix_server -L/usr/lib/mysql -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+0x51c): In function `evaluate_FUNCTION':
/home/tez/zabbix/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:342: undefined reference to `mysql_free_result'
evalfunc.o(.text+0xdaa): In function `evaluate_FUNCTION2':
/home/tez/zabbix/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:718: undefined reference to `mysql_free_result'
evalfunc.o(.text+0xdbc):/home/tez/zabbix/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:703: undefined reference to `mysql_free_result'
expression.o(.text+0xfaf): In function `substitute_simple_macros':
/home/tez/zabbix/zabbix-1.1beta2/src/zabbix_server/expression.c:856: undefined reference to `mysql_free_result'
expression.o(.text+0x10c9):/home/tez/zabbix/zabbix-1.1beta2/src/zabbix_server/expression.c:882: undefined reference to `mysql_free_result'
actions.o(.text+0x349):/home/tez/zabbix/zabbix-1.1beta2/src/zabbix_server/actions.c:161: more undefined references to `mysql_free_result' follow
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0xc): In function `DBclose':
/home/tez/zabbix/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:47: undefined reference to `mysql_close'
../libs/zbxdbhigh/libzbxdbhigh.a(db.o)(.text+0x29): In function `DBconnect':
/home/tez/zabbix/zabbix-1.1beta2/src/libs/zbxdbhigh/db.c:69: undefined reference to `mysql_error'
<snip>
../libs/zbxdbhigh/libzbxdbhigh.a(action.o)(.text+0x636):/home/tez/zabbix/zabbix-1.1beta2/src/libs/zbxdbhigh/action.c:131: more undefined references to `mysql_free_result' follow
collect2: ld returned 1 exit status
[tez@parodius zabbix_server]$ gcc -g -O2 -o zabbix_server -L/usr/lib/mysql -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 -lmysqlclient
[tez@parodius zabbix_server]$
I can't understand why the Zabbix developers didn't catch this one sooner as gcc and ld will always load libraries from the end of the command-line *first* in order to satisfy dependencies for the source files specified at the beginning.
I am using the official MySQL 5.0.15 RPMs from http://www.mysql.com/ as CentOS and Fedora have yet to release their own.
Regards,
Terry Froy
Spilsby Internet Solutions
http://www.spilsby.net/
James Wells
05-11-2005, 21:23
I can't understand why the Zabbix developers didn't catch this one sooner as gcc and ld will always load libraries from the end of the command-line *first* in order to satisfy dependencies for the source files specified at the beginning.
AWESOME!!!. Thank you Terry. Don't know about anyone else, but I was unaware of this. Actually, this kind of makes sense considering one of the patches I submitted a while back had -lmysqlclient to the end of the linker line, but the patch just before mine had it at the front of the line and it failed.
Again, thank you very much.
Lostnode
16-11-2005, 03:51
I did all this, and now I get this
poller/libzbxpoller.a(checks_snmp.o)(.text+0x178):/zabbix/src/zabbix_server/poller/checks_snmp.c:122: undefined reference to `usmHMACMD5AuthProtocol'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x19e):/zabbix/src/zabbix_server/poller/checks_snmp.c:131: undefined reference to `usmHMACMD5AuthProtocol'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x1a3):/zabbix/src/zabbix_server/poller/checks_snmp.c:131: undefined reference to `generate_Ku'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x1f0):/zabbix/src/zabbix_server/poller/checks_snmp.c:153: undefined reference to `snmp_open'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x218):/zabbix/src/zabbix_server/poller/checks_snmp.c:164: undefined reference to `snmp_pdu_create'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x236):/zabbix/src/zabbix_server/poller/checks_snmp.c:165: undefined reference to `read_objid'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x246):/zabbix/src/zabbix_server/poller/checks_snmp.c:173: undefined reference to `snmp_add_null_var'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x265):/zabbix/src/zabbix_server/poller/checks_snmp.c:176: undefined reference to `snmp_synch_response'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x2e7):/zabbix/src/zabbix_server/poller/checks_snmp.c:307: undefined reference to `snmp_sess_perror'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x307):/zabbix/src/zabbix_server/poller/checks_snmp.c:314: undefined reference to `snmp_free_pdu'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x313):/zabbix/src/zabbix_server/poller/checks_snmp.c:316: undefined reference to `snmp_close'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x357):/zabbix/src/zabbix_server/poller/checks_snmp.c:299: undefined reference to `snmp_sess_perror'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x36e):/zabbix/src/zabbix_server/poller/checks_snmp.c:281: undefined reference to `snmp_errstring'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x398):/zabbix/src/zabbix_server/poller/checks_snmp.c:290: undefined reference to `snmp_errstring'
poller/libzbxpoller.a(checks_snmp.o)(.text+0x3bd):/zabbix/src/zabbix_server/poller/checks_snmp.c:285: undefined reference to `snmp_errstring'
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbc): In function `my_compress_alloc':
Version 1 worked great, cept for an email problem I have had... now I have spent the last 5 hours browsing the forums, scratchin my head, pulling out my hair because I cannot get htis work... I am on RHE 3... please help.
I am experiencing the same (or very similar) difficulty while attempting to compile zabbix 1.1beta2 on SuSE 9.3.
I have installed the following RPMs:
net-snmp version 5.2.1-5.2
net-snmp-devel version 5.2.1-5.2
MySQL-client version 5.0.15-0
MySQL-devel version 5.0.15-0
MySQL-server version 5.0.15-0
MySQL-shared version 5.0.15-0
as well as the source package for MySQL 5.0.15-0.
./configure --enable-server --enable-agent --with-mysql --with-net-snmp works without complaint, but when I run make, I see the errors mentioning undefined references to 'mysql_free_resilt'. I have tried the solutions from every post in these forums that mention compile errors (as of Nov. 18, 2005), but with no success. My only other guess is that perhaps the gcc version 3.3.5 that comes in this distribution may be the problem.
Ideas, anyone?
Thanks,
I doubt it's a gcc issue.
try adding the mysql include parameters to the END of the offending gcc command line instead of the begining.
Somebody pointed out recently that gcc reads the command line from the end first in order to resolve dependencies, perhaps this is the problem.
Well, I'm no C programmer, so it took me a while to figure out what I was looking at, but I finally determined that changing the Makefile in the zabbix_server source directory was the thing to do. I changed the line reading
zabbix_server_LDFLAGS = -L/usr/lib/mysql -lmysqlclient -lm -lz -L/usr/lib -lnetsnmp -lcrypto
so that it now reads
zabbix_server_LDFLAGS = -L/usr/lib -lnetsnmp -lcrypto -L/usr/lib/mysql -lmysqlclient -lm -lz
and make runs with no errors. :)
Thanks to all for the suggestions.
Ross
BFGoodrich
21-11-2005, 16:51
I have MySQL installed in /usr/local/mysql
I have installed the shared libraries for mysql under /usr/lib
I tried the following...
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql --with-net-snmp
I then attempted a make and had the following output (more errors follow)
gcc -g -O2 -o zabbix_server -L/usr/local/mysql/lib -lmysqlclient -lm -lz -L/usr/lib -lnetsnmp 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+0x652): In function `evaluate_FUNCTION':
/usr/local/downloads/zabbix-1.1beta2/src/zabbix_server/evalfunc.c:342: undefined reference to `mysql_free_result'
Any ideas, what specific things do I need to modify in Makefile?
Thanks,
Benjamin Goodrich
BFGoodrich
25-11-2005, 15:32
I found another Makefile under src/zabbix_server
changing this Makefile variable did help
zabbix_server_LDFLAGS = -L/usr/lib -lnetsnmp -lcrypto -L/usr/lib/mysql -lmysqlclient -lm -lz
However, now I am getting yet another compile error.
This time...
gcc -g -O2 -o zabbix_server -L/usr/lib -lnetsnmp -L/usr/lib/mysql -lmysqlclient -lm -lz 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
/usr/lib/libnetsnmp.so: undefined reference to `EVP_DigestInit'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_DigestFinal'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_DigestFinal_ex'
/usr/lib/libnetsnmp.so: undefined reference to `AES_set_encrypt_key'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_md5'
/usr/lib/libnetsnmp.so: undefined reference to `HMAC'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_MD_CTX_cleanup'
/usr/lib/libnetsnmp.so: undefined reference to `SSLeay'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_sha1'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_MD_CTX_init'
/usr/lib/libnetsnmp.so: undefined reference to `EVP_DigestUpdate'
/usr/lib/libnetsnmp.so: undefined reference to `RAND_bytes'
/usr/lib/libnetsnmp.so: undefined reference to `DES_cbc_encrypt'
/usr/lib/libnetsnmp.so: undefined reference to `DES_ncbc_encrypt'
/usr/lib/libnetsnmp.so: undefined reference to `DES_key_sched'
/usr/lib/libnetsnmp.so: undefined reference to `AES_cfb128_encrypt'
collect2: ld returned 1 exit status
make[3]: *** [zabbix_server] Error 1
make[3]: Leaving directory `/usr/local/downloads/zabbix-1.1beta2/src/zabbix_server'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/downloads/zabbix-1.1beta2/src/zabbix_server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/downloads/zabbix-1.1beta2/src'
make: *** [all-recursive] Error 1
What are the dependencies for Zabbix? Am I missing something here?
Have you install the net-snmp-devel, gcc-devel, mysql-devel packet?
BFGoodrich
25-11-2005, 19:19
Have you install the net-snmp-devel, gcc-devel, mysql-devel packet?
I have installed MySQL into /usr/local
I have installed MySQL shared into /usr/lib
I have installed net-snmp into /usr/snmp (due to the error, tried to compile w/ SSL)
I have installed OpenSSL into /usr/local/ssl
GCC and development libraries are installed.
Any ideas?
BFGoodrich
02-12-2005, 06:26
I have not heard back from anyone. Is there a list of packages/dependencies that this product requires and how to do a proper configure with these components. I am still trying to get this to work on SUSE 9 Enterprise without much luck. I have installed my own version of MySQL, Apache, PHP, SSL, net-snmp (w/ SSL). Any help with this would be most appreciated.
if you use suse you have to look to the suse specific links. i can advise to use the suse original packages. If you installed your own packages only to have a system therewith it is up to date. Use after Suse installation the update function. Check it out with the original packages.
BFGoodrich
02-12-2005, 13:24
Even if it works with the SUSE packages, I still need to use my own versions. Their version of MySQL for SLES9 is dated, this also applies to Apache, PHP, etc. What I really need is a list of applications/dependencies that Zabbix requires. Like minimum software requirements and the correct order of flags for gcc. Is there somewhere that I can find this information?
Maybe on this page.
http://www.zabbix.com/manual/v1.1/install.php
cdouglas
15-12-2005, 17:47
Is there any update on this problem? I Have 1.1B4 with Mysql 5.0.16 Binary Install on RH ES3.0.
I tried to change the location in the gcc statement for zabbix_server and it compile, but the server wont start. No errors in any logs anywhere. Below is the start of the errors.
gcc -g -O2 -o zabbix_server -L/usr/local/mysql/lib -lmysqlclient -lm -lz 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+0x81): In function `evaluate_COUNT':
/root/zabbix-1.1beta4/src/zabbix_server/evalfunc.c:93: undefined reference to `mysql_free_result'
-Chris
cdouglas
15-12-2005, 19:24
I removed the binary install, installed the Mysql 5.0.16 RPMs for RH Es3.0, including the shared rpm, fixed the sym link, and I got it to compile, but it still doesnt start. No error in the log , on the screen, or in messages.
How can I debug it to see whats wrong?
AWESOME!!!. Thank you Terry. Don't know about anyone else, but I was unaware of this. Actually, this kind of makes sense considering one of the patches I submitted a while back had -lmysqlclient to the end of the linker line, but the patch just before mine had it at the front of the line and it failed.
Again, thank you very much.
... so patch it already!
I just d'led the Zabbix v1.1beta4 tarball (my initial report of this issue was made when beta2 had just been released) and have experienced the exact same compile error which makes me give serious consideration as to whether the Zabbix developers are actually trying to squish bugs (which is common practice during beta release phases) instead of trying to add functionality.
As there are no official RPMs for Zabbix, I have been spending some time building some but I'm finding errors such as these in the build process that patching Makefiles shouldn't be done by the packager - these problems are not RPM-build specific and should be fixed further upstream; maybe a patch might help ?
--- zabbix-1.1beta2/src/zabbix_server/Makefile.in.orig 2005-11-05 20:20:09.000000000 +0000
+++ zabbix-1.1beta2/src/zabbix_server/Makefile.in 2005-11-05 20:20:57.000000000 +0000
@@ -243,7 +243,7 @@
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
zabbix_server$(EXEEXT): $(zabbix_server_OBJECTS) $(zabbix_server_DEPENDENCIES)
@rm -f zabbix_server$(EXEEXT)
- $(LINK) $(zabbix_server_LDFLAGS) $(zabbix_server_OBJECTS) $(zabbix_server_LDADD) $(LIBS)
+ $(LINK) $(zabbix_server_OBJECTS) $(zabbix_server_LDADD) $(LIBS) $(zabbix_server_LDFLAGS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
It is my hope that I can eventually contribute a high-quality specfile to the project so that the Zabbix developers can provide a set of source/binary RPMS which may even lead to your product being included in one or more major Linux distributions.
I haven't had much time to inspect the overall code quality of the project so I might very well be wrong (and subsequently, get flamed) but if you can't fix problems in a simple Makefile or figure out the semantics of the tools which 99% of your userbase will use to compile your code, I have serious misgivings about the product in general.
Although I don't like telling fellow developers to 'suck eggs', I feel that basic build issues should be addressed before even thinking about extending/improving the functionality of the product.
Regards,
Terry
I have to say that I agree here. I'm getting rather tired of explaining to my bosses why I'm spending so much time modifying various little files in the source just to get this to install.
I believe the problem is fixed in CVS. While I agree with all the critics, I'd like to say that ZABBIX developers do not have access to all distributions, especially commercial ones.
We have never experienced this problem. It made me think, that it is something to do with specific version of gcc, ld, or a broken distribution (read first messages of the thread about missing library links, etc).
I'd appreciate if one could try to compile it and report about any positive or negative results. Do not use compiled CVS code! It is not carefully tested yet.
pdwalker
30-12-2005, 16:04
Given the vast number of different systems, all with slightly different development enviroments, it's a wonder it runs on as many systems as it does.
Rather than complaining and assuming the developers are deliberately not fixing your bug, why not assume that they cannot see your bug in the environments they work in?
You could even go as far as determining what the actual problem is.
If you really want to go out on a limb, you could
1/ purchase support - these guys have to eat, you know or
2/ provide an enviroment for them to test the code on that exhibits the problem (if the developers are agreeable - they do have to make a living as well which might not give them time to do this).
In the meantime, grow up and quit whining about a nice piece of software the developers have made freely available to us all. Take some initiative on your own rather than waiting for someone to spoonfeed you.
Really.
- Paul
Given the vast number of different systems, all with slightly different development enviroments, it's a wonder it runs on as many systems as it does.
Yes, but the issue is with gcc command-line syntax; I think I am not alone in believing that the most popular compiler in existence for UNIX-type systems is gcc and that gcc is the primary compiler used by the developers of Zabbix.
Rather than complaining and assuming the developers are deliberately not fixing your bug, why not assume that they cannot see your bug in the environments they work in?
Because James Wells indicated that he had already seen this bug but hadn't figured out what was causing it; I pointed out the position of the -lmysqlclient in the command-line and proved that this was indeed the issue.
You could even go as far as determining what the actual problem is.
I went even further than that as I submitted a patch only a few posts above this one - or did you not bother to read the whole thread ?
If you really want to go out on a limb, you could
1/ purchase support - these guys have to eat, you know or
Would you purchase support for a piece of software that didn't even build for you, let alone install ?
2/ provide an enviroment for them to test the code on that exhibits the problem (if the developers are agreeable - they do have to make a living as well which might not give them time to do this).
Agreed - CentOS is freely downloadable from http://www.centos.org/
In the meantime, grow up and quit whining about a nice piece of software the developers have made freely available to us all. Take some initiative on your own rather than waiting for someone to spoonfeed you.
I find that rather insulting; firstly, I provided a solution to a problem which affected multiple users, a Zabbix developer acknowledged the issue but it was not fixed in a later beta when my patch clearly proved that it was a simple one-line fix.
It is one thing to fix a problem but when a developer acknowledges a problem but fails to take the fix offered by a member of the community or write their own; that tells me that they are not bothered about fixing issues which affect basic functionality (in this world of build-it-yourself tarballs, a build issue *does* affect basic functionality).
I appreciate the effort that the Zabbix developers have put in to their product but if I cannot even get the thing to build, it is of little use to me and if developers won't take the patches which I have had to apply to get it to build, what point is there in me trying to contribute further or even participating in this forum ?
I'm going to take 1.1beta5 out for a spin in a minute to see if things have improved since 1.1beta4.
Regards,
Terry
I find that rather insulting; firstly, I provided a solution to a problem which affected multiple users, a Zabbix developer acknowledged the issue but it was not fixed in a later beta when my patch clearly proved that it was a simple one-line fix.
It is one thing to fix a problem but when a developer acknowledges a problem but fails to take the fix offered by a member of the community or write their own; that tells me that they are not bothered about fixing issues which affect basic functionality (in this world of build-it-yourself tarballs, a build issue *does* affect basic functionality).
I appreciate the effort that the Zabbix developers have put in to their product but if I cannot even get the thing to build, it is of little use to me and if developers won't take the patches which I have had to apply to get it to build, what point is there in me trying to contribute further or even participating in this forum ?
I'm pretty sure 1.1beta5 doesn't have this issue anymore.
We do not blindly apply patches even if it is a simple one-line fix. Even if the patch fixed your problem there are no guarantee that it doesn't break compilation under other platforms. Fix one platform and break the rest? No, thank you.
I'm pretty sure 1.1beta5 doesn't have this issue anymore.
You are correct - 1.1beta5 does not have this issue.
We do not blindly apply patches even if it is a simple one-line fix.
Maybe so - but a one-line fix in the form of a diff should be more than sufficient for you to determine the impact which that change will have; as somebody who has been using gcc for over six years, I spotted the Makefile error instantly as soon as my build of 1.1beta2 terminated unexpectedly.
Even if the patch fixed your problem there are no guarantee that it doesn't break compilation under other platforms. Fix one platform and break the rest? No, thank you.
If I had submitted a 500+ line diff which touched several parts of the Zabbix core, I would completely agree with you.
As it stands, a one-line patch should not require any more than a quick examination by a Zabbix developer to understand its' function and what it is attempting to fix; I explained the purpose of the patch and why it was necessary to merge upstream.
Nevertheless, I am grateful for the fix as I am sure are several other users who have posted to this thread.
Regards,
Terry
pdwalker
09-01-2006, 08:59
Terry,
When I see people making noises like:
*fix my problem now*
*I can see the problem, it's trivial, merge the patch now*
*you dont care about me*
*in my experience, you shouldn't have this problem, ergo you are dumb and uncaring*
it annoys the hell out of me. People making these noises only see one problem. They do not see all the other things that go on, on a day to day basis which competes with their pet issue. Their whining and ingratitude becomes particularly grating pretty quickly. If you find that insulting then good, it is meant to be.
The developers will fix their outstanding problems in the order they need to fix them in based on their own schedules, own real life constraints and priorities and that is something to be thankful for, not demand.
I have over 20 years of experience developing software under all kinds of environments. One thing that I have learned is that no patch is trivial and harmless until proven otherwise through proper testing and review. (and even then problems slip through) so while you might be sure that the patch is trivial, a concentious developer will not take your word for it, and check it themselves.
Just remember the beauty of open source projects. If one doesnt suit you, find another, or do it yourself, or use another as a base, or be constructive and patient, or whatever. But dont be ingratious. Your mother should have taught you better.
- Paul
When I see people making noises like:
*fix my problem now*
*I can see the problem, it's trivial, merge the patch now*
*you dont care about me*
*in my experience, you shouldn't have this problem, ergo you are dumb and uncaring*
I think I can see your point but I think you are failing to see mine.
I was not the original reporter of this bug but I was the first person to post something in this thread to contribute a potential fix (at the time, 1.1beta2 was released) and I thought nothing of it... checking the thread some time later told me that 1.1beta3 and 1.1beta4 had been released without any kind of fix so I threw a patch in to the thread to make life a bit easier for everybody else.
If I didn't care about everyone else who had experienced the issue, I wouldn't have put the patch out in the first place.
... and without putting too fine a point on it, yes, if anyone decides to write code using gcc and their own buildscripts without knowledge of how the compiler parses its' command-line arguments, that person is certainly naive; not necessarily stupid, but as Alexei put it earlier, you don't want to break all other platforms to keep just one working, however, it would certainly help if you started off with 100%-standard gcc syntax in the first place.
it annoys the hell out of me. People making these noises only see one problem. They do not see all the other things that go on, on a day to day basis which competes with their pet issue. Their whining and ingratitude becomes particularly grating pretty quickly. If you find that insulting then good, it is meant to be.
Did I keep saying 'Fix it!', 'Fix it!', 'Fix it!' ?
No, I did not.
I submitted a patch which fixed the issue at hand and touched nothing else and it lay untouched for two whole beta releases; may I remind you that the purpose of releasing betas is to initiate feature freeze and fix bugs before general release ?
The developers will fix their outstanding problems in the order they need to fix them in based on their own schedules, own real life constraints and priorities and that is something to be thankful for, not demand.
True - this was certainly not a problem which merited a significant amount of attention from a Zabbix developer but if they are indeed intent on making their money on support contracts, it would help if their software could actually be built on the RHEL platform (still the most popular distro in the commercial sector) as they do not distribute precompiled binaries for the Zabbix server.
If my patch fixes a build issue which enables someone to try out the product and that someone decides to purchase a support contract based on their experiences, I'm guessing that makes money for Alexei and Co and this is a high priority for them at the moment ?
At the end of all this, you have to consider that I am the one donating my time to figuring out the issue, writing a patch and submitting it at zero cost to the Zabbix developers - even if they don't apply it directly but merely as something to look at in order to understand the problem better - I certainly don't call that being 'ungrateful' on my part.
I have over 20 years of experience developing software under all kinds of environments. One thing that I have learned is that no patch is trivial and harmless until proven otherwise through proper testing and review. (and even then problems slip through) so while you might be sure that the patch is trivial, a concentious developer will not take your word for it, and check it themselves.
The whole point of my patch was to make one of the developers sit back and smack his forehead in a Homer Simpson-style 'Doh!' moment... the position of linker dependencies has always been critical to programs compiled with gcc and to date, I have only ever found one other OSS project that got it wrong by specifying its' own object files after its' dependencies.
Just remember the beauty of open source projects. If one doesnt suit you, find another, or do it yourself, or use another as a base, or be constructive and patient, or whatever. But dont be ingratious. Your mother should have taught you better.
The very fact that I contributed the patch should tell you that I think the project has a lot of promise and while I don't have enough time to dedicate to the project as Alexei and Co have, I will continue to throw patches at them for any future bugs that I find.
Now, I think we should close the book on this; this discussion has already taken up far more time than it took for me to diagnose the problem and write my patch - that activity is far more beneficial to this project than arguing.
We will have to agree to disagree ;-)
Regards,
Terry
Now, I think we should close the book on this; this discussion has already taken up far more time than it took for me to diagnose the problem and write my patch - that activity is far more beneficial to this project than arguing.I agree, let's finish arguing :) Back to coding! ;)