[syslog-ng] Compiling & Using syslog-ng 1.9.10 on Solaris 10
Balazs Scheidler
bazsi at balabit.hu
Mon May 1 14:40:13 CEST 2006
On Wed, 2006-04-26 at 10:06 +0200, Philippe JOYEZ wrote:
> Hello all,
>
> I've finally succedeed in compiling syslog-ng on my new Solaris 10 box
> using the following tasks:
>
> Modifications src/Makefile (Add -lrt)
> 75c75
> < LIBS = -lpthread -lnsl -lsocket -ldoor -ll -L/usr/local/lib
> -lglib-2.0 -lintl -L/usr/local/lib -levtlog
> ---
> > LIBS = -lpthread -lrt -lnsl -lsocket -ldoor -ll -L/usr/local/lib
> -lglib-2.0 -lintl -L/usr/local/lib -levtlog
Fixed in the patch below.
>
> Modification src/filter.c (Adding macros):
>
> /* Define G_LIKELY() and G_UNLIKELY() so that they are available when
> * using GLib 1.2 as well. These allow optimization by static branch
> * prediction with GCC. */
> #ifndef G_LIKELY
> #define G_LIKELY(x) (__builtin_expect(x, 1))
> #define G_UNLIKELY(x) (__builtin_expect(x, 0))
> #endif /* !G_LIKELY */
I don't understand this one, syslog-ng relies on GLib 2.0 heavily and I
doubt it would build with glib 1.2
What is the exact version that you were using?
>
> But when I start syslog-ng, I have the following error message:
>
> Apr 26 09:50:55 sewerrat syslog-ng[752]: syslog-ng starting up;
> version='1.9.10'
> Apr 26 09:50:55 sewerrat syslog-ng[752]: Insufficient buffer space for
> retrieving STREAMS log message; res='ffffffff'
This is caused by the multi-read patches, also added a fix for this.
And now here's the just committed patch (available in tomorrow's
snapshot):
--- orig/configure.in
+++ mod/configure.in
@@ -126,6 +126,7 @@ fi
dnl Checks for library functions.
AC_CHECK_LIB(door, door_create)
AC_CHECK_LIB(socket, socket)
+AC_CHECK_LIB(rt, nanosleep)
AC_CHECK_LIB(nsl, gethostbyname)
AC_CHECK_LIB(regex, regexec)
--- orig/src/afstreams.c
+++ mod/src/afstreams.c
@@ -134,7 +134,7 @@ afstreams_sd_init(LogPipe *s, GlobalConf
close(fd);
return FALSE;
}
- self->reader = log_reader_new(streams_read_new(fd), LR_LOCAL, s, &self->reader_options);
+ self->reader = log_reader_new(streams_read_new(fd), LR_LOCAL | LR_NOMREAD, s, &self->reader_options);
log_pipe_append(self->reader, s);
if (self->door_filename)
--
Bazsi
More information about the syslog-ng
mailing list