[syslog-ng] Cannot install syslog-ng 3.2.4 under cygwin with Oracle support

Balazs Scheidler bazsi at balabit.hu
Tue Oct 25 22:12:19 CEST 2011


On Fri, 2011-10-21 at 08:25 +0300, Hery Fanomezantsoa wrote:
> Hi all,
> Prior to installing syslog-ng on cygwin, i installed libdbi and
> libdbi-drivers with oracle instant client on windows.
> After that, i installed eventlog
> Finally i tried to install syslog-ng and it failed.
> Here is my configure: 
> 
> ./configure EVTLOG_CFLAGS="-I/usr/local/eventlog/include/eventlog" \
> > EVTLOG_LIBS="-L/usr/local/eventlog/lib -levtlog" \
> > GLIB_CFLAGS="-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
> > GLIB_LIBS="-L/usr/lib -lglib-2.0 -lintl" \
> > LIBDBI_CFLAGS="-I/usr/local/libdbi/include/dbi-0.8" \
> > LIBDBI_LIBS="-L/usr/local/libdbi/lib" \
> > --enable-sql

I have my doubts if a cygwin binary can access the native (non-cygwin)
Oracle libraries easily.

> 
> I've got this warning:
> 
> *** Warning: This system can not link to static lib
> archive /usr/local/eventlog/lib/libevtlog.la.
> *** I have the capability to make that library automatically link in
> when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> 
> *** Warning: linker path does not have real file for library -lrt.
> *** I have the capability to make that library automatically link in
> when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because I did check the linker path looking for a file starting
> *** with librt and none of the candidates passed a file format test
> *** using a file magic. Last file checked: /lib/librt.a
> 
> *** Warning: linker path does not have real file for library -lresolv.
> *** I have the capability to make that library automatically link in
> when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because I did check the linker path looking for a file starting
> *** with libresolv and none of the candidates passed a file format
> test
> *** using a file magic. Last file checked: /lib/libresolv.a
> 
> *** Warning: linker path does not have real file for library -ldl.
> *** I have the capability to make that library automatically link in
> when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because I did check the linker path looking for a file starting
> *** with libdl and none of the candidates passed a file format test
> *** using a file magic. Last file checked: /lib/libdl.a
> *** The inter-library dependencies that have been dropped here will be
> *** automatically added whenever a program is linked with this library
> *** or is declared to -dlopen it.
> 
> *** Since this library must not contain undefined symbols,
> *** because either the platform does not support them or
> *** it was explicitly requested with -no-undefined,
> *** libtool will only create a static version of it.
> 
> And this error
> 
> ../../lib/.libs/libsyslog-ng.a(plugin.o): In function
> `plugin_load_module':
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:154: undefined
> reference to `_g_module_symbol'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:172: undefined
> reference to `_g_module_build_path'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:206: undefined
> reference to `_g_module_open'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:217: undefined
> reference to `_g_module_make_resident'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:219: undefined
> reference to `_g_module_symbol'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:221: undefined
> reference to `_g_module_error'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:210: undefined
> reference to `_g_module_error'
> /cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/lib/plugin.c:146: undefined
> reference to `_g_module_open'
> collect2: ld returned 1 exit status
> make[5]: *** [pdbtool.exe] Error 1
> make[5]: Leaving directory
> `/cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/modules/dbparser'
> make[4]: *** [all-recursive] Error 1
> make[4]: Leaving directory
> `/cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/modules/dbparser'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory
> `/cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/modules/dbparser'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory
> `/cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4/modules'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/cygdrive/q/STAGE2011/Soft/syslog-ng-3.2.4'
> make: *** [all] Error 2
> 
> What do I miss?

I'm not that versed in cygwin specifics, but as it seems your dependant
libraries are only available in static form.

IIRC Corinna (the syslog-ng maintainer on cygwin) mentioned something
about a libtool version that has problems on cygwin. You might need to
regenerate the configure/Makefile/libtool scripts using the cygwin
supplied tools.

I know that syslog-ng could successfully be compiled on cygwin, and I
think that libdbi core could probably too. But compiling
libdbi-drivers/oracle will not be easy.

This might help though:

http://www.cygwin.com/cygwin-ug-net/dll.html


-- 
Bazsi




More information about the syslog-ng mailing list