I just got finished building 1.6rc2 on a Solaris 8 system with gcc 3.2.2. The problem I ran into was that the build stopped with the following error: Undefined first referenced symbol in file yywrap cfg-lex.o ld: fatal: Symbol referencing errors. No output written to syslog-ng collect2: ld returned 1 exit status *** Error code 1 make: Fatal error: Command failed for target `syslog-ng' Current working directory /export/home/jackson/syslog-ng-1.6.0rc2/src As it turns out, I just installed gcc3.2.2 on /usr/local. The problem is that the freeware packages Sun distributes with Solaris install on /opt/sfw. Therefore the gcc just I installed does not look in /opt/swf/lib by default. I just edited LDFLAGS (-L/opt/sfw) LIBS (-lfl) in src/Makefile and everything compiled file. Looking into config.cache I see that configure couldn't find libfl (ac_cv_lib_fl_yywrap=${ac_cv_lib_fl_yywrap='no'}). It would seem that if libfl is required in order to build syslog-ng, that either the build process should stop if it is not found, or you should be able to give it as an option to configure. Of course, this is only a problem if flex is not installed in gcc's default search path. This is a minor nit, but I thought I would mention it. Aaron
I had the exact same problem when building 1.6rcX with a 64-bit capable gcc 3.2.1, but forcing it to a 32-bit compile with -m32. I had to 'hide' flex so that configure couldn't find it (not for libol - I am pretty sure just for syslog) and allow it to use lex (/usr/ccs/bin/lex). When I built it in 64-bit mode, I didn't have the flex problem (didn't have to hide it), but syslog 1.X have a particular type casting defficiency that prevents it from properly recording the srouce address. I have patch for that, but I haven't tried it yet. I am running it in 32-bit mode. Hope that helps. Brian ====================================================================== On Tue, Apr 22, 2003 at 12:10:30PM -0400, Aaron Jackson wrote:
I just got finished building 1.6rc2 on a Solaris 8 system with gcc 3.2.2. The problem I ran into was that the build stopped with the following error:
Undefined first referenced symbol in file yywrap cfg-lex.o ld: fatal: Symbol referencing errors. No output written to syslog-ng collect2: ld returned 1 exit status *** Error code 1 make: Fatal error: Command failed for target `syslog-ng' Current working directory /export/home/jackson/syslog-ng-1.6.0rc2/src
As it turns out, I just installed gcc3.2.2 on /usr/local. The problem is that the freeware packages Sun distributes with Solaris install on /opt/sfw. Therefore the gcc just I installed does not look in /opt/swf/lib by default. I just edited LDFLAGS (-L/opt/sfw) LIBS (-lfl) in src/Makefile and everything compiled file.
Looking into config.cache I see that configure couldn't find libfl (ac_cv_lib_fl_yywrap=${ac_cv_lib_fl_yywrap='no'}). It would seem that if libfl is required in order to build syslog-ng, that either the build process should stop if it is not found, or you should be able to give it as an option to configure. Of course, this is only a problem if flex is not installed in gcc's default search path.
This is a minor nit, but I thought I would mention it.
Aaron
_______________________________________________ syslog-ng maillist - syslog-ng@lists.balabit.hu https://lists.balabit.hu/mailman/listinfo/syslog-ng Frequently asked questions at http://www.campin.net/syslog-ng/faq.html
-- _____________________________________________________________________ / Brian C. Hill bchill@bch.net http://brian.bch.net \ | Unix Specialist BCH Technical Services http://www.bch.net |
participants (2)
-
Aaron Jackson
-
Brian C. Hill