CFEngine does not ship with Mac OS X. Either compile CFEngine manually, or use a version distributed with a ports system such as Darwin Ports or Fink. CFEngine can then be installed on existing systems, or included as part of a base install image.
More information on running CFEngine on Mac OS X is available.
Check the INSTALL and other documentation under the CFEngine sources for information on compiling.
- Ensure Xcode (formerly Developer’s Tools) has been installed on the build system. Xcode will install gcc and other tools.
- Patch CFEngine
- Use Matthew Flanagan’s patch to enable defaultroute support in CFEngine.
- Disable network configuration support: kluge-disable-ifconf.2.1.15.patch.
- Dependencies
According to Mark Burgess, CFEngine does not support the routing socket interface as of version 2.1.15. This problem may lead to undeclared SIOCADDRT errors on compliation:
ifconf.c: In function 'SetDefaultRoute':
ifconf.c:489: error: 'SIOCADDRT' undeclared (first use in this function)
ifconf.c:489: error: (Each undeclared identifier is reported only once
ifconf.c:489: error: for each function it appears in.)
make[2]: *** [ifconf.o] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
There are two solutions; the first option is the best:
This patch disables the ifconf.c code. All network configuration must be done via some other protocol. Use at your own risk!
Mac OS X 10.3 and below require OpenSSL and Berkeley DB. Mac OS X 10.4 only requires Berkeley DB to be installed.