fyi: building SyslogNG snapshot on OSX 10.3.8
hi all, i've seen a couple of recent questions onlist re: building on Mac, so i thought i'd post my latest notes; the following works great for me. HTH, but, as always, YMMV =) note: (a) i'm building from the latest src snapshots (b) i'm using some updated build tools (c) i'm linking against an EXTERNAL bind9 build's libs (currently bind-9.3.1rc1), rather than Apple's native -lresolv ... fwiw, my ENV: % gcc --version gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1671) % glibtool --version ltmain.sh (GNU libtool) 1.5.14 (1.1220.2.195 2005/02/12 12:12:33) % automake --version automake (GNU automake) 1.9.4 % autoconf --version autoconf (GNU Autoconf) 2.59 setenv LIBOL_LOC "http://www.balabit.com/downloads/syslog-ng/1.6/src-snapshot" setenv SYSLOGNG_LOC "http://www.balabit.com/downloads/syslog-ng/1.6/src-snapshot" setenv LIBOL_VER "libol-0.3.15+20050216" setenv SYSLOGNG_VER "syslog-ng-1.6.6+20050216" cd /usr/ports/ wget $LIBOL_LOC/$LIBOL_VER.tar.gz wget $SYSLOGNG_LOC/$SYSLOGNG_VER.tar.gz gnutar zxvf $LIBOL_VER.tar.gz gnutar zxvf $SYSLOGNG_VER.tar.gz unsetenv CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS LDDLFLAGS LD_PREBIND EXTRA_LDFLAGS EXTRA_LIBS LC_ALL LANG LINGUAS ################ ## LIBOL # cd /usr/ports/$LIBOL_VER glibtoolize --force --copy aclocal autoconf ./configure \ --prefix=/usr/local \ --enable-shared \ --enable-static make make install ################ ## SYSLOG-NG # cd /usr/ports/$SYSLOGNG_VER unsetenv CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS LDDLFLAGS LD_PREBIND EXTRA_LDFLAGS EXTRA_LIBS LC_ALL LANG LINGUAS setenv LDFLAGS "-bind_at_load -L/usr/local/bind9/lib -llwres -lbind9" setenv CPPFLAGS "-I/usr/local/bind9/include" # make a couple of changes ... ================================================================ (EDITOR) /usr/ports/$SYSLOGNG_VER/configure.in @164 --- AC_CHECK_LIB(resolv, res_init) +++ dnl AC_CHECK_LIB(resolv, res_init) dnl on Linux res_init is a macro --- AC_CHECK_LIB(resolv, __res_init) +++ dnl AC_CHECK_LIB(resolv, __res_init) @336 --- LIBS="$LIBS $LIBOL_LIBS -Wl,-Bstatic $LEXLIB $LIBWRAP_LIBS $LIBNET_LIBS -Wl,-Bdynamic" +++ LIBS="$LIBS $LIBOL_LIBS -Wl,-dynamic $LEXLIB $LIBWRAP_LIBS $LIBNET_LIBS -Wl,-dynamic" ================================================================ glibtoolize --force --copy aclocal autoconf ./configure \ --prefix=/usr/local \ --enable-debug \ --enable-full-static=no \ --enable-tcp-wrapper make make install ################ ## StartupItems # mkdir -p /Library/StartupItems/SyslogNG ================================================== (EDITOR) /Library/StartupItems/SyslogNG/SyslogNG #!/bin/sh ## # SyslogNG StartupItem # . /etc/rc.common RunService () { case $1 in start ) StartService ;; stop ) StopService ;; restart) RestartService ;; * ) echo "$0: unknown argument: $1";; esac } ## # SyslogNG StartupItem Handlers ## StartService () { if [ "${SYSLOGNG:=-NO-}" = "-YES-" ]; then # if [ -f "/var/run/syslog" ] ; then ConsoleMessage "Stopping SYSLOGD server" sleep 2 killall syslogd # fi ConsoleMessage "Starting SYSLOG-NG Logging Server" /usr/local/sbin/syslog-ng -f /etc/syslog-ng/syslog-ng.conf -p /var/run/syslog-ng.pid fi } StopService () { if [ -f "/var/run/syslog-ng.pid" ] ; then ConsoleMessage "Stopping SYSLOG-NG Logging Server" sleep 2 kill -9 `cat /var/run/syslog-ng.pid` fi } RestartService () { StopService StartService } RunService "$1" ================================================================= ================================================== (EDITOR) /Library/StartupItems/SyslogNG/StartupParameters.plist { Description = "SyslogNG"; Provides = ("SyslogNG"); Requires = ("Resolver","Network Time","Disks"); Uses = ("Network"); OrderPreference = "None"; Messages = { start = "Starting SyslogNG"; stop = "Stopping SyslogNG"; }; } ================================================== ================================================== (EDITOR) /etc/hostconfig +++ SYSLOGNG=-YES- ================================================== chown -R root:wheel /Library/StartupItems/SyslogNG chmod 755 /Library/StartupItems/SyslogNG chmod 755 /Library/StartupItems/SyslogNG/SyslogNG chmod 644 /Library/StartupItems/SyslogNG/StartupParameters.plist # now let's see what we've got ... % which syslog-ng /usr/local/sbin/syslog-ng % ls -al /usr/local/sbin/syslog-ng -rwxr-xr-x 1 root wheel 453968 Feb 23 11:17 /usr/local/sbin/syslog-ng % otool -L /usr/local/sbin/syslog-ng /usr/local/sbin/syslog-ng: /usr/local/bind9/lib/liblwres.1.dylib (compatibility version 4.0.0, current version 4.2.0) /usr/local/bind9/lib/libbind9.0.dylib (compatibility version 1.0.0, current version 1.5.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 71.1.1) # start it up !!! % /Library/StartupItems/SyslogNG/SyslogNG start % ps -ax | grep syslog-ng 9649 ?? Ss 0:00.02 /usr/local/sbin/syslog-ng -f /etc/syslog-ng/syslog-ng.conf -p /var/run/syslog-ng.pid smooth sailing from here ... happy trails! richard
participants (1)
-
OpenMacNews