glibc 2.9

jamal hadi at
Fri Jun 15 12:13:18 CEST 2012

There's probably an easy way to do this. Note: This is not a libev
issue perse, rather a glibc compat issue.

glibc 2.9 and above added support for EPOLL_CLOEXEC + IN_CLOEXEC

If i compile (and app-embed) libev on a system with glibc 2.9
and try to run it on a system which is < glibc 2.9
there is failure to load (since we expect presence of the CLOEXEC).

There are many solutions:
a) compile things on glibc 2.8. That is not something i would like
to do; 
b) put limit on requirements for running the program to glibc2.9.
I cant get rid of debian 5(glibc2.8) as an execution environment.
c) upgrade glibc on debian 5. painful, a one-off. So NO.
d) patch libev to undefine EPOLL_CLOEXEC + IN_CLOEXEC; of course 
this means i gotta remember this everytime i upgrade libev and i miss
on all the performance improvement for other systems which support
glibc 2.9
e) Compile a speacial binary for debian 5 which undefines the 
CLOEXECs. Painful.

So far none of these are palatable.


More information about the libev mailing list