Each new MacOS release brings some surprises when it comes to compiling syslog-ng. MacOS Ventura has been released recently, while Homebrew has also been updated. So here are some updated instructions for MacOS Ventura (and also for the last MacOS minor release before Ventura).
Let me quote one of my previous MacOS blogs:
“The original syslog-ng MacOS installation guide is available at https://github.com/balabit/syslog-ng-gitbook/blob/master/chapters/chapter_0/section_3.md. Yash made an updated version available at https://yash6866.gitbook.io/syslog-macos-testing/installation which has some additional information on openssl (syslog-ng does not compile yet with version 3.0). There is also a third guide, which is probably not fully up-to-date, as it was written almost two years ago. However, this guide also describes how to start syslog-ng automatically, using a job definition: https://medium.com/macoclock/how-to-install-syslog-ng-on-macos-965127f1c05c”
For Monterey, I used the updated guide from Yash, but compiling syslog-ng failed. It seems that using the bundled libraries does not work anymore. You need to make sure that ivykis is installed on the system from Homebrew and you enable the system version when running configure.
Compared to Monterey, there is a single change: development files for net-snmp in the base system are broken. This means that you have to install net-snmp from Homebrew and make sure that the Homebrew version of net-snmp is used by syslog-ng. Another option is disabling snmp support completely.
Install some development related packages:
brew install automake autoconf binutils glib autoconf-archive flex bison libtool pkg-config ivykis openssl pcre json-c
If you need snmp support, install net-snmp:
brew install net-snmp
Make sure that the freshly installed bison is used, just as openssl 1.1:
export PATH=/usr/local/opt/bison/bin:$PATH export PKG_CONFIG_PATH="/email@example.com/lib/pkgconfig:$PKG_CONFIG_PATH"
If you need snmp support, make sure that syslog-ng finds the freshly installed net-snmp package:
Note that on ARM, the path names are different.
./configure --disable-java --with-ivykis=system
You can add any additional options here, as needed. For example, enable additional dependencies. Just make sure that these three settings are always there. If you want to disable snmp support, append this option to the above configure command line:
From here on, compiling and installing syslog-ng is the same as on other platforms.
After the installation, there are two important differences:
The default configuration does not work, as the system() source is not yet supported on MacOS.
There is no startup script to start syslog-ng automagically on boot (see the third referred blog for details).
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.