#43203: dbus not building on 10.6.8. ‘O_CLOEXEC’ undeclared ------------------------+-------------------------------- Reporter: gnurser@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: | ------------------------+-------------------------------- Comment (by egall@…): `O_CLOEXEC` is normally defined in `fcntl.h`, but the `fcntl.h` from Darwin's Libc is just a wrapper around `<sys/fcntl.h>`. I am also on Snow Leopard, so I checked my `<sys/fcntl.h>`, and can confirm that I do not have `O_CLOEXEC` in mine, either. I tried checking newer versions the Darwin Libc sources on opensource.apple.com, but could not find where `<sys/fcntl.h>` is located in there... Anyways, the next thing I checked was Gnulib, and Gnulib's `fcntl.h` defines `O_CLOEXEC` like this: {{{ #if !defined O_CLOEXEC && defined O_NOINHERIT /* Mingw spells it 'O_NOINHERIT'. */ # define O_CLOEXEC O_NOINHERIT #endif #ifndef O_CLOEXEC # define O_CLOEXEC 0 #endif }}} Gnulib also provides a `cloexec.c` file and a `cloexec.h` file that, taken together, actually implement the functionality that the `O_CLOEXEC` flag represents. `dbus` could try using these in cases when `O_CLOEXEC` is not available... -- Ticket URL: <https://trac.macports.org/ticket/43203#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X