| Platform Notes | |
| -------------- | |
| This file describes platform specific notes for Monit. | |
| Platforms overview in alphabetical order: | |
| o AIX | |
| o Darwin (Mac OS X) | |
| o FreeBSD | |
| o Linux | |
| o NetBSD | |
| o OpenBSD | |
| o Solaris | |
| Following platforms are not actively maintained because of lack of testing | |
| machine for these OS's. They may work - its support was added and confirmed | |
| in particular Monit releases by contributors. Possible status reports, bug | |
| reports, patch contributions or access to such platforms for development is | |
| welcomed: | |
| o HPUX | |
| Platform specific notes: | |
| ======================== | |
| GNU/Linux | |
| ========= | |
| Monit compiles out of the box on Linux. Some Linux Distributions | |
| might have Monit as a precompiled package (see PACKAGES). | |
| In order to be able to use resource support you have to have PROCFS | |
| support enabled in your kernel. In case your kernel has fortified | |
| your proc filesystem, e.g. using the openwall patchset, you might need | |
| to start Monit as the root user. | |
| In case a glibc replacement is used one of the following parts may | |
| apply. | |
| dietlibc | |
| -------- | |
| Since version 4.0 the use of dietlibc is supported by Monit. For SSL | |
| support you need to compile the ssl libraries with dietlibc; use the | |
| "--with-ssl-lib-dir=<path>" option to configure Monit. | |
| A configure for dietlibc might look like this: | |
| env CC="diet gcc" CFLAGS="-Os" \ | |
| ./configure --with-ssl-lib-dir=/usr/lib/diet/lib-i386/ | |
| uClibc | |
| ------ | |
| The support for uClibc has been integrated in version 4.0. Like | |
| dietlibc you need to compile openssl with uClibc for SSL support. You | |
| also need to have the openssl include files outside of your "standard" | |
| include files (e.g. use an "openssl" link in you <uClibc>/include | |
| tree). Otherwise your uClibc include files are mixed up with the | |
| glibc includes. Finally, specify your <uClibc>/ tree in your configure | |
| run with "--with-ssl-dir=<path>". | |
| A configure for uClibc might look like this: | |
| env CC="i386-uclibc-gcc" CFLAGS="-Os" \ | |
| ./configure --with-ssl-dir=/usr/i386-linux-uclibc | |
| Solaris | |
| ======= | |
| 64-bit Monit is required for Solaris support. | |
| You can use either gcc or Sun Studio for compilation. | |
| Package prerequisites | |
| SUNWbash | |
| SUNWgmake | |
| SUNWgcc | |
| SUNWopenssl-include | |
| SUNWopenssl-libraries | |
| Set path to the SFW utilities and libraries, for example: | |
| PATH=$PATH:/usr/sfw/bin | |
| export PATH | |
| crle -64 -l /lib/64:/usr/lib/64:/usr/sfw/lib/64 | |
| Configure Monit (examples): | |
| gcc [sparc]: | |
| ./configure | |
| gcc [amd64]: | |
| ./configure | |
| Sun Studio 12 [sparc]: | |
| ./configure --with-ssl-lib-dir=/usr/sfw/lib/64 CC=/opt/solstudio12.2/bin/cc | |
| Sun Studio 12 [amd64]: | |
| ./configure --with-ssl-lib-dir=/usr/sfw/lib/64 CC=/opt/solstudio12.2/bin/cc | |
| Compile Monit with: | |
| gmake | |
| AIX | |
| === | |
| Configure Monit with SSL path (examples): | |
| ./configure \ | |
| --with-ssl-incl-dir=/opt/freeware/include \ | |
| --with-ssl-lib-dir=/opt/freeware/64/lib | |
| Use GNU make to compile ('gmake') | |
| FreeBSD + NetBSD + OpenBSD | |
| ========================== | |
| Use GNU make to compile ('gmake') | |
| Darwin (Mac OS X) | |
| ================= | |
| Monit compiles out of the box on Mac OS X. | |
| It seems that Apple is phasing out the kvm interface and that | |
| it is disabled by default on Intel based Mac OS X 10.4.8 and later. | |
| You can get following error in such case for Monit <= 4.9: | |
| --8<-- | |
| kvm_open: : /dev/mem: No such file or directory | |
| system statistic error -- cannot initialize kvm interface | |
| system statistic error -- cannot initialize the process tree => | |
| process resource monitoring disabled | |
| --8<-- | |
| You can reenable the kvm interface by adding the kmem to the boot-args | |
| Open Firmware variable as root - for example: | |
| nvram boot-arg="kmem=1" | |
| and reboot the machine. | |
| Monit > 4.9 don't need this workaround. | |
| Any other not yet mentioned but posix compatible platform | |
| ========================================================= | |
| Monit might be able to compile using the "UNKNOWN" architecure. In | |
| case a wrong platform is detected you can enforce this behavior by | |
| using the "--without-resource" flag in the configure run. Generally, | |
| it is advisable to stick to gcc for compiling. | |