glibc 2.9

Marc Lehmann schmorp at
Tue Jun 19 20:33:44 CEST 2012

On Fri, Jun 15, 2012 at 06:13:18AM -0400, jamal <hadi at> wrote:
> 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).

These are compiletime constants, so I can't imagine libev wouldn't load on
older systems because of that. Libev doesn't rely on EPOLL_CLOEXEC either at
compiletime, nor at runtime btw.

Could you give us the actual error messgae, or describe the actual
symptoms you have?

> a) compile things on glibc 2.8. That is not something i would like
> to do; 

If I understand you correctly, you want to compile a program on a system
with a newer libc and let it run on an older libc?

That doesn't work, regardless of whichever tricks libev would play,
because it has absolutely nothing to do with libev. There are various
hacks out in the wild that claim to make it possible (by playing with
hreader files and binaries), but in general, glibc itself has no forward
compatibility, and any forward compatibility you might experience is just

> So far none of these are palatable.
> Suggestions?

Since the only problem you mentioned is that you "don't like" the correct
(and in fatc, only) solution to your problem, I would say your problem is
not technological, but psychological in nature - nothing libev does can
help you with that.

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list