[syslog-ng] syslog-ng 2.0.0 compile problem

Evan Rempel erempel at uvic.ca
Thu Nov 16 15:07:42 CET 2006


I had similar problems under AIX when attempting to compile static.
./configure would complain that it could not fine the static glib libraries.

Evan.

Buozis, Martynas wrote:
> Hello
> 
> I tried to compile syslog-ng on Solaris 10 with Sun Studio 11 using
> following configure line :
> 
> PKG_CONFIG_PATH=/opt/eventlog/lib/pkgconfig/ GLIB_LIBS=/opt/glib/lib/
> CC=cc CXX=CC  ./configure --prefix=/opt/syslog-ng
> --sysconfdir=/opt/syslog-ng/
> 
> I have compiled Eventlog and GLIB (statistically) with same compiler.
> Alas configure returns error:
> 
> error: static GLib libraries not found (a file named libglib-2.0.a),
> either link GLib dynamically using the --enable-dynamic-linking or insta
> ll a static Glib
> 
> What I found in config.log is a syntax problem in test code? Can this be
> fixed somehow by some patch or workaround? I also think, that compile
> line is also not correct :
> 
> 
> 
> configure:5687: cc -o conftest -g   conftest.c -Wl,-Bstatic
> /opt/glib/lib/ -Wl,-Bdynamic >&5
> "conftest.c", line 52: syntax error before or at: {
> "conftest.c", line 55: undefined symbol: fn
> "conftest.c", line 59: warning: syntax error:  empty declaration
> "conftest.c", line 60: syntax error before or at: return
> "conftest.c", line 60: warning: syntax error:  empty declaration
> cc: acomp failed for conftest.c
> configure:5693: $? = 2
> configure: failed program was:
> | /* confdefs.h.  */
> |
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | #define PACKAGE "syslog-ng"
> | #define VERSION "2.0.0"
> | #define STDC_HEADERS 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_SYS_STAT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_MEMORY_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_INTTYPES_H 1
> | #define HAVE_STDINT_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_GETOPT_H 1
> | #define HAVE_STROPTS_H 1
> | #define HAVE_SYS_STRLOG_H 1
> | #define HAVE_DOOR_H 1
> | #define HAVE_O_LARGEFILE 1
> | #define HAVE_LIBDOOR 1
> | #define HAVE_LIBSOCKET 1
> | #define HAVE_LIBRT 1
> | #define HAVE_LIBNSL 1
> | #define HAVE_STRDUP 1
> | #define HAVE_STRTOL 1
> | #define HAVE_INET_NTOA 1
> | #define HAVE_GETOPT_LONG 1
> | #define HAVE_GETADDRINFO 1
> | #define HAVE_PTHREAD_H 1
> | #define HAVE_LIBPTHREAD 1
> | #define ENABLE_SUN_STREAMS 1
> | #define ENABLE_SUN_DOOR 1
> | #define ENABLE_DEBUG 0
> | #define ENABLE_MEM_TRACE 0
> | #define ENABLE_SSL 0
> | #define ENABLE_IPV6 1
> | /* end confdefs.h.  */
> |
> | int
> | main ()
> | {
> |
> | extern void g_hash_table_new(void);
> |
> | int main()
> | {
> |   void (*fn)(void) = g_hash_table_new;
> |
> |   return (int) fn;
> | }
> |
> |
> |   ;
> |   return 0;
> | }
> configure:5717: result: no
> configure:5728: error: static GLib libraries not found (a file named
> libglib-2.0.a), either link GLib dynamically using the
> --enable-dynamic-linking or insta
> ll a static Glib
> 
> I can fix above code with look like :
> 
> /* end confdefs.h.  */
> 
>  extern void g_hash_table_new(void);
>  int
>  main ()
>  {
> 
> 
>    void (*fn)(void) = g_hash_table_new;
> 
>    return (int) fn;
>  }
> 
> 
> And compile it with command :
> cc -o test -g  test.c -Wl,-Bstatic /opt/glib/lib/libglib-2.0.a
> -Wl,-Bdynamic
> 
> 
> 
> With best regards
> Martynas 
> 
> _______________________________________________
> syslog-ng maillist  -  syslog-ng at lists.balabit.hu
> https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Frequently asked questions at http://www.campin.net/syslog-ng/faq.html
> 
> 



More information about the syslog-ng mailing list