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.