I’m managing a few Gentoo boxes for a client. This environment is sort of a nightmare (initially set up by someone else.. who I’ve never met and currently hate now). Basically, it’s a xen environment running several Gentoo images. On one of the images today, I was unable to start postfix after the upgrade to 2.4.5. The exact error message on start up is below:
Nov 20 08:04:21 comp postfix/master[4284]: fatal: epoll_create: Function not implemented
Nov 20 08:05:15 comp postfix/master[4514]: fatal: epoll_create: Function not implemented
Nov 20 08:06:13 comp postfix/master[4722]: fatal: epoll_create: Function not implemented
Nov 20 08:22:07 comp postfix/master[11899]: fatal: epoll_create: Function not implemented
Nov 20 08:32:57 comp postfix/master[12059]: fatal: epoll_create: Function not implemented
I’m managing a few Gentoo boxes for a client. This environment is sort of a nightmare (initially set up by someone else.. who I’ve never met and currently hate now). Basically, it’s a xen environment running several Gentoo images. On one of the images today, I was unable to start postfix after the upgrade to 2.4.5. The exact error message on start up is below:
Nov 20 08:04:21 comp postfix/master[4284]: fatal: epoll_create: Function not implemented
Nov 20 08:05:15 comp postfix/master[4514]: fatal: epoll_create: Function not implemented
Nov 20 08:06:13 comp postfix/master[4722]: fatal: epoll_create: Function not implemented
Nov 20 08:22:07 comp postfix/master[11899]: fatal: epoll_create: Function not implemented
Nov 20 08:32:57 comp postfix/master[12059]: fatal: epoll_create: Function not implemented
I checked the forums, and was surprised to not see anything about this. Well, not exactly surprised since I was successful in postfix upgrades on all other servers, so I figured this wasn’t a widespread problem. Okay, next it’s Google time. Sure enough, I see lots of mention of this out there, but it primarily stated that this is caused by EPOLL not being enabled in the kernel OR you’re using a 2.4 kernel. Now this xen system uses a shared kernel. Meaning that all the Gentoo images have the same exact kernel and configuration. Two of the other images had no problems with the upgrade, and all the images are 2.6 kernels. Very puzzling. In fact, I could not get this working at all, so I had to go with plan B, which is to recompile postfix without epoll. I’m adding this as a ‘fix’ until I can figure out what’s exactly going on.. maybe this can help others.
I simply added the following to /etc/make.conf’s CFLAGS
-DNO_EPOLL
I rebuilt postfix, and everything is starting up now. If anyone has any idea what the problem is, please comment. I also posted a thread at the Gentoo forum here.