* Re: Udev 147 (and above) dependencies
2009-11-17 7:30 Udev 147 (and above) dependencies mblanchard.ext
@ 2009-11-17 7:46 ` Matthias Schwarzott
2009-11-17 9:34 ` Kay Sievers
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Matthias Schwarzott @ 2009-11-17 7:46 UTC (permalink / raw)
To: linux-hotplug
On Dienstag, 17. November 2009, mblanchard.ext@orange-ftgroup.com wrote:
> Hi,
>
> I tried to compile the lastest Udev 147 on a system running linux kernel
> 2.6.31 and glibc 2.8. This attempt failed because the SOCK_CLOEXEC constant
> is not defined in my glibc header /usr/include/bits/socket.h. After a small
> investigation, I found the following: kernel support of SOCK_CLOEXEC was
> introduced in the 2.6.27 release. However, the glibc support was introduced
> in glibc 2.9. I believe this dependency should be precised in the Udev
> README.
>
I think udev-147 even requires kernel 2.6.29 headers, as this is the first
release in which bsg.h is exported.
Matthias
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: Udev 147 (and above) dependencies
2009-11-17 7:30 Udev 147 (and above) dependencies mblanchard.ext
2009-11-17 7:46 ` Matthias Schwarzott
@ 2009-11-17 9:34 ` Kay Sievers
2009-11-17 9:53 ` Matthias Schwarzott
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Kay Sievers @ 2009-11-17 9:34 UTC (permalink / raw)
To: linux-hotplug
On Tue, Nov 17, 2009 at 08:46, Matthias Schwarzott <zzam@gentoo.org> wrote:
> On Dienstag, 17. November 2009, mblanchard.ext@orange-ftgroup.com wrote:
>> I tried to compile the lastest Udev 147 on a system running linux kernel
>> 2.6.31 and glibc 2.8. This attempt failed because the SOCK_CLOEXEC constant
>> is not defined in my glibc header /usr/include/bits/socket.h. After a small
>> investigation, I found the following: kernel support of SOCK_CLOEXEC was
>> introduced in the 2.6.27 release. However, the glibc support was introduced
>> in glibc 2.9. I believe this dependency should be precised in the Udev
>> README.
>>
> I think udev-147 even requires kernel 2.6.29 headers, as this is the first
> release in which bsg.h is exported.
bsg was added in 2.6.23.
Kay
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: Udev 147 (and above) dependencies
2009-11-17 7:30 Udev 147 (and above) dependencies mblanchard.ext
2009-11-17 7:46 ` Matthias Schwarzott
2009-11-17 9:34 ` Kay Sievers
@ 2009-11-17 9:53 ` Matthias Schwarzott
2009-11-17 10:26 ` mblanchard.ext
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Matthias Schwarzott @ 2009-11-17 9:53 UTC (permalink / raw)
To: linux-hotplug
On Dienstag, 17. November 2009, Kay Sievers wrote:
> On Tue, Nov 17, 2009 at 08:46, Matthias Schwarzott <zzam@gentoo.org> wrote:
> > On Dienstag, 17. November 2009, mblanchard.ext@orange-ftgroup.com wrote:
> >> I tried to compile the lastest Udev 147 on a system running linux kernel
> >> 2.6.31 and glibc 2.8. This attempt failed because the SOCK_CLOEXEC
> >> constant is not defined in my glibc header /usr/include/bits/socket.h.
> >> After a small investigation, I found the following: kernel support of
> >> SOCK_CLOEXEC was introduced in the 2.6.27 release. However, the glibc
> >> support was introduced in glibc 2.9. I believe this dependency should be
> >> precised in the Udev README.
> >
> > I think udev-147 even requires kernel 2.6.29 headers, as this is the
> > first release in which bsg.h is exported.
>
> bsg was added in 2.6.23.
>
Yes, and this commit exported it to userspace, so it got installed
below /usr/include. So 2.6.29 were the first linux-headers to contain bsg.h
commit a229fc61ef0ee3c30fd193beee0eeb87410227f1
Author: Boaz Harrosh <bharrosh@panasas.com>
Date: Mon Jan 19 10:37:38 2009 +0100
include/linux: Add bsg.h to the Kernel exported headers
Matthias
^ permalink raw reply [flat|nested] 7+ messages in thread* RE: Udev 147 (and above) dependencies
2009-11-17 7:30 Udev 147 (and above) dependencies mblanchard.ext
` (2 preceding siblings ...)
2009-11-17 9:53 ` Matthias Schwarzott
@ 2009-11-17 10:26 ` mblanchard.ext
2009-11-17 10:30 ` mblanchard.ext
2009-11-17 17:11 ` Bryan Kadzban
5 siblings, 0 replies; 7+ messages in thread
From: mblanchard.ext @ 2009-11-17 10:26 UTC (permalink / raw)
To: linux-hotplug
-----Message d'origine-----
De : Matthias Schwarzott [mailto:zzam@gentoo.org]
Envoyé : mardi 17 novembre 2009 10:53
À : linux-hotplug@vger.kernel.org
Cc : Kay Sievers; zze-FS DEAN BLANCHARD M ext RD-RESA-LAN
Objet : Re: Udev 147 (and above) dependencies
On Dienstag, 17. November 2009, Kay Sievers wrote:
> On Tue, Nov 17, 2009 at 08:46, Matthias Schwarzott <zzam@gentoo.org> wrote:
> > On Dienstag, 17. November 2009, mblanchard.ext@orange-ftgroup.com wrote:
> >> I tried to compile the lastest Udev 147 on a system running linux
> >> kernel
> >> 2.6.31 and glibc 2.8. This attempt failed because the SOCK_CLOEXEC
> >> constant is not defined in my glibc header /usr/include/bits/socket.h.
> >> After a small investigation, I found the following: kernel support
> >> of SOCK_CLOEXEC was introduced in the 2.6.27 release. However, the
> >> glibc support was introduced in glibc 2.9. I believe this
> >> dependency should be precised in the Udev README.
> >
> > I think udev-147 even requires kernel 2.6.29 headers, as this is the
> > first release in which bsg.h is exported.
>
> bsg was added in 2.6.23.
>
Yes, and this commit exported it to userspace, so it got installed below /usr/include. So 2.6.29 were the first linux-headers to contain bsg.h
commit a229fc61ef0ee3c30fd193beee0eeb87410227f1
Author: Boaz Harrosh <bharrosh@panasas.com>
Date: Mon Jan 19 10:37:38 2009 +0100
include/linux: Add bsg.h to the Kernel exported headers
Matthias
Thanks for your feedback. According to the various elements mentioned, the minimal requirements for a successful kernel compilation are:
- Glibc 2.9 (for SOCK_CLOEXEC support in the glibc header /usr/include/bits/socket.h),
- Linux kernel headers 2.6.29 (for bsg.h support)
Actually, I think Glibc 2.9 supports SOCK_CLOEXEC properly even without the associated kernel support: this one is optional and activated when specifying, at least, the '--enable-kernel=2.6.27' at Glibc compilation. However, as kernel headers 2.6.29 are mandatory for bsg.h, this fact is not significant :)
^ permalink raw reply [flat|nested] 7+ messages in thread* RE: Udev 147 (and above) dependencies
2009-11-17 7:30 Udev 147 (and above) dependencies mblanchard.ext
` (3 preceding siblings ...)
2009-11-17 10:26 ` mblanchard.ext
@ 2009-11-17 10:30 ` mblanchard.ext
2009-11-17 17:11 ` Bryan Kadzban
5 siblings, 0 replies; 7+ messages in thread
From: mblanchard.ext @ 2009-11-17 10:30 UTC (permalink / raw)
To: linux-hotplug
-----Message d'origine-----
De : zze-FS DEAN BLANCHARD M ext RD-RESA-LAN
Envoyé : mardi 17 novembre 2009 11:26
À : linux-hotplug@vger.kernel.org
Cc : Kay Sievers; 'Matthias Schwarzott'
Objet : RE: Udev 147 (and above) dependencies
-----Message d'origine-----
De : Matthias Schwarzott [mailto:zzam@gentoo.org] Envoyé : mardi 17 novembre 2009 10:53 À : linux-hotplug@vger.kernel.org Cc : Kay Sievers; zze-FS DEAN BLANCHARD M ext RD-RESA-LAN Objet : Re: Udev 147 (and above) dependencies
On Dienstag, 17. November 2009, Kay Sievers wrote:
> On Tue, Nov 17, 2009 at 08:46, Matthias Schwarzott <zzam@gentoo.org> wrote:
> > On Dienstag, 17. November 2009, mblanchard.ext@orange-ftgroup.com wrote:
> >> I tried to compile the lastest Udev 147 on a system running linux
> >> kernel
> >> 2.6.31 and glibc 2.8. This attempt failed because the SOCK_CLOEXEC
> >> constant is not defined in my glibc header /usr/include/bits/socket.h.
> >> After a small investigation, I found the following: kernel support
> >> of SOCK_CLOEXEC was introduced in the 2.6.27 release. However, the
> >> glibc support was introduced in glibc 2.9. I believe this
> >> dependency should be precised in the Udev README.
> >
> > I think udev-147 even requires kernel 2.6.29 headers, as this is the
> > first release in which bsg.h is exported.
>
> bsg was added in 2.6.23.
>
Yes, and this commit exported it to userspace, so it got installed below /usr/include. So 2.6.29 were the first linux-headers to contain bsg.h
commit a229fc61ef0ee3c30fd193beee0eeb87410227f1
Author: Boaz Harrosh <bharrosh@panasas.com>
Date: Mon Jan 19 10:37:38 2009 +0100
include/linux: Add bsg.h to the Kernel exported headers
Matthias
Thanks for your feedback. According to the various elements mentioned, the minimal requirements for a successful kernel compilation are:
- Glibc 2.9 (for SOCK_CLOEXEC support in the glibc header /usr/include/bits/socket.h),
- Linux kernel headers 2.6.29 (for bsg.h support)
Actually, I think Glibc 2.9 supports SOCK_CLOEXEC properly even without the associated kernel support: this one is optional and activated when specifying, at least, the '--enable-kernel=2.6.27' at Glibc compilation. However, as kernel headers 2.6.29 are mandatory for bsg.h, this fact is not significant :)
Oops, I meant successful Udev compilation, of course :)
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: Udev 147 (and above) dependencies
2009-11-17 7:30 Udev 147 (and above) dependencies mblanchard.ext
` (4 preceding siblings ...)
2009-11-17 10:30 ` mblanchard.ext
@ 2009-11-17 17:11 ` Bryan Kadzban
5 siblings, 0 replies; 7+ messages in thread
From: Bryan Kadzban @ 2009-11-17 17:11 UTC (permalink / raw)
To: linux-hotplug
[-- Attachment #1: Type: text/plain, Size: 1016 bytes --]
mblanchard.ext@orange-ftgroup.com wrote:
> Actually, I think Glibc 2.9 supports SOCK_CLOEXEC properly even
> without the associated kernel support: this one is optional and
> activated when specifying, at least, the '--enable-kernel=2.6.27' at
> Glibc compilation.
Huh? Changing --enable-kernel *never* adds support for some new
feature. The whole point of --enable-kernel is to specify the minimum
kernel that this glibc will ever see *at runtime*, and to enable or
disable various workarounds required for some features on older kernels.
And specifically in this case, the only thing that --enable-kernel=X
does is (maybe) turn on __ASSUME_SOCK_CLOEXEC; you can see what this
symbol does by opening up sysdeps/unix/sysv/linux/opensock.c in glibc.
(One of those workarounds is to try once with SOCK_CLOEXEC, then if that
fails, to retry without it. udevd adding that flag in on its own is
going to disable this workaround. But maybe the udev developers don't
care about that case...)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 261 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread