# PBM: >=udev-147 doesn't compile (SOCK_CLOEXEC undefined)

## VinzC

Hi.

I've just synced today and am trying to compile >=udev-147. I get this error:

```
...

configure: creating ./config.status

config.status: creating Makefile

config.status: creating libudev/libudev.pc

config.status: creating libudev/docs/Makefile

config.status: creating libudev/docs/version.xml

config.status: creating udev/udev.pc

config.status: creating extras/gudev/gudev-1.0.pc

config.status: creating extras/gudev/docs/Makefile

config.status: creating extras/gudev/docs/version.xml

config.status: creating config.h

config.status: executing depfiles commands

config.status: executing libtool commands

   udev 149

   ========

   prefix:         /usr

   sysconfdir:      /etc

   sbindir:      /sbin

   libdir:         /usr/lib64

   rootlibdir:      /lib64

   libexecdir:      /lib64/udev

   datarootdir:      ${prefix}/share

   mandir:         /usr/share/man

   includedir:      ${prefix}/include

   logging:      yes

   debug:         no

   selinux:      no

   compiler:      x86_64-pc-linux-gnu-gcc

   cflags:         -march=core2 -msse4.1 -O2 -pipe

   ldflags:      -Wl,-O1

   extras:         no

   gintrospection:      no

   usb.ids:      

   pci.ids:      

   xsltproc:      /usr/bin/xsltproc

   gperf:         

make -j3 

make --no-print-directory all-recursive

Making all in .

  CC     libudev/libudev-monitor.lo

  CC     libudev/libudev-util-private.lo

  CC     libudev/libudev-device-private.lo

libudev/libudev-monitor.c: In function ‘udev_monitor_new_from_socket’:

libudev/libudev-monitor.c:143: error: ‘SOCK_CLOEXEC’ undeclared (first use in this function)

libudev/libudev-monitor.c:143: error: (Each undeclared identifier is reported only once

libudev/libudev-monitor.c:143: error: for each function it appears in.)

libudev/libudev-monitor.c: In function ‘udev_monitor_new_from_netlink’:

libudev/libudev-monitor.c:200: error: ‘SOCK_CLOEXEC’ undeclared (first use in this function)

make[2]: *** [libudev/libudev-monitor.lo] Error 1

make[2]: *** Waiting for unfinished jobs....

libudev/libudev-util-private.c: In function ‘util_unlink_secure’:

libudev/libudev-util-private.c:118: warning: ignoring return value of ‘chown’, declared with attribute warn_unused_result

make[1]: *** [all-recursive] Error 1

make: *** [all] Error 2
```

I get the same results with udev-147*. Compiling udev-146* doesn't produce any error.

Has anyone fixed this issue? (Currently I've only masked >=udev-147.)

----------

## VoidMage

Your glibc/kernel/kernel headers are too old.

----------

## VinzC

 *VoidMage wrote:*   

> Your glibc/kernel/kernel headers are too old.

 

Glibc: 2.8*

kernel: 2.6.31*

Kernel headers: 2.6.30 (no more recent in portage)

What's too old? Should I switch to an *unstable* version of any of these for a *stable* version of udev?

----------

## gringo

 *Quote:*   

> Should I switch to an *unstable* version of any of these for a *stable* version of udev?

 

i´m not in front of my gentoo now, but according to gentoo-portage.com everything >=udev-146-r2 is in unstable.

http://gentoo-portage.com/sys-fs/udev

cheers

----------

## VoidMage

```
28 Jun 2009; Markus Meier <maekke@gentoo.org>

  glibc-2.9_p20081201-r2.ebuild:

  amd64 stable, bug #270243

26 Jun 2009; Christian Faulhammer <fauli@gentoo.org>

  glibc-2.9_p20081201-r2.ebuild:

  stable x86, bug 270243
```

Thank you.

----------

## VinzC

 *VinzC wrote:*   

> Should I switch to an *unstable* version of any of these for a *stable* version of udev?

 

 *gringo wrote:*   

> i´m not in front of my gentoo now, but according to gentoo-portage.com everything >=udev-146-r2 is in unstable.
> 
> http://gentoo-portage.com/sys-fs/udev
> 
> cheers

 

Weird, I didn't see the "~" sign when I sync'ed and upgraded yesterday. But, ok, I might as well have missed something -- I'm so at ease with Gentoo that I end up doing things almost automatically, nothing is more dangerous  :Rolling Eyes:  ...

Thanks a lot for the info.

----------

