Ad Widget
Collapse
Compile Problem
Collapse
X
-
Any update
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'
-ChrisComment
-
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?Comment
-
Get it sorted!
... so patch it already!Originally posted by James WellsAWESOME!!!. 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.
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 ?
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.Code:--- 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)
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,
TerryComment
-
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.Comment
-
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.
- PaulComment
-
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.Originally posted by pdwalkerGiven 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.
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.Originally posted by pdwalkerRather 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?
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 ?Originally posted by pdwalkerYou could even go as far as determining what the actual problem is.
Would you purchase support for a piece of software that didn't even build for you, let alone install ?Originally posted by pdwalkerIf you really want to go out on a limb, you could
1/ purchase support - these guys have to eat, you know or
Agreed - CentOS is freely downloadable from http://www.centos.org/Originally posted by pdwalker2/ 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).
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.Originally posted by pdwalkerIn 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.
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,
TerryComment
-
I'm pretty sure 1.1beta5 doesn't have this issue anymore.Originally posted by tezI 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 ?
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.Comment
-
You are correct - 1.1beta5 does not have this issue.Originally posted by AlexeiI'm pretty sure 1.1beta5 doesn't have this issue anymore.
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.Originally posted by AlexeiWe do not blindly apply patches even if it is a simple one-line fix.
If I had submitted a 500+ line diff which touched several parts of the Zabbix core, I would completely agree with you.Originally posted by AlexeiEven 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.
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,
TerryComment
-
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.
- PaulComment
-
I think I can see your point but I think you are failing to see mine.Originally posted by pdwalkerWhen 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 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.
Did I keep saying 'Fix it!', 'Fix it!', 'Fix it!' ?Originally posted by pdwalkerit 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.
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 ?
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.Originally posted by pdwalkerThe 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.
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.
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.Originally posted by pdwalkerI 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 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.Originally posted by pdwalkerJust 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.
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,
TerryComment
-
I agree, let's finish arguingOriginally posted by tezNow, 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.
Back to coding!
Comment
Comment