Installing syslog-ng 4.9.0 on FreeBSD

Version 4.9.0 of syslog-ng has been available for some time. However, it is not available yet in FreeBSD ports, as there were compilation problems on FreeBSD 15-CURRENT. You can still install it using my own updated ports Makefile.

I maintain my own version of the syslog-ng port for FreeBSD: https://www.syslog-ng.com/community/b/blog/posts/installing-a-syslog-ng-4-development-snapshot-on-freebsd This is what I use for testing syslog-ng development snapshots on FreeBSD. Version 4.9.0 was tested on FreeBSD 13, 14 and 15. Syslog-ng 4.9.0 introduced support for inotify on Linux. FreeBSD 15 introduced kernel level inotify support as well. I could not reproduce the problem myself, but under some circumstances, compiling syslog-ng 4.9.0 on FreeBSD 15 fails at an inotify-related part.

Before you begin

To compile syslog-ng 4.9.0 on FreeBSD, you need:

  • an up-to-date ports tree

  • syslog-ng dependencies installed (you can speed it up if you install them from packages instead of compiling them from ports)

  • git

  • my git repository

Compiling syslog-ng

Change to a directory that does not have a subdirectory called “freebsd”, as this is where git will download the ports I created.

git clone https://github.com/czanik/freebsd/

This repo is regularly updated, so when you check it out, the latest revision points to a syslog-ng development snapshot beyond version 4.9.0. You can check the git history once you have changed to the “freebsd” directory:

git log

To make your life easier, I looked up the right commit for you. You can change to the state where the repository contained FreeBSD ports for the syslog-ng 4.9.0 release with the following command:

git checkout 379508e86b377708302a735febc1e6b543643158

Now change to the “syslog-ng4-devel” directory, where I maintain ports Makefiles for syslog-ng development snapshots. Once you change to the above commit, it will contain the Makefile for syslog-ng 4.9.0. You can now do the regular ports workflow:

make config
make install clean

Note that if syslog-ng is already installed on the host, delete it before compiling syslog-ng, otherwise strange things might happen.

Testing

You can now (re)start syslog-ng:

service syslog-ng restart

And check /var/log/messages for new log messages, where you should see a similar message among other logs:

Aug 26 10:25:31 fb132 syslog-ng[75761]: syslog-ng starting up; version='4.9.0'

What is next

This is obviously just a workaround. You should check https://www.freshports.org/sysutils/syslog-ng/ regularly, and change back to the official port once available. And of course, if you use it, any feedback is very welcome, especially if you get syslog-ng 4.9.0 running on FreeBSD 15-CURRENT. Contact us at https://github.com/syslog-ng/syslog-ng/issues.

-

If you have questions or comments related to syslog-ng, do not hesitate to contact us. You can reach us by email or even chat with us. For a list of possibilities, check our GitHub page under the “Community” section at https://github.com/syslog-ng/syslog-ng. On Twitter, I am available as @PCzanik, on Mastodon as @Pczanik@fosstodon.org.

Related Content