1 |
On 02/15/2010 06:45 AM, Frank Peters wrote: |
2 |
> Doing my daily emerge update, I noticed that a new release of the |
3 |
> linux-headers, version 2.6.32, was available. After installing this |
4 |
> new version, there appeared a message advising that glibc be re-emerged |
5 |
> to take advantage of any new features that might be available in the |
6 |
> latest kernel headers. |
7 |
> |
8 |
> My question is: why are not glibc and the linux-headers linked |
9 |
> in a dependency relationship? If re-compiling glibc after emerging |
10 |
> a new version of linux-headers could be so important, why not just create |
11 |
> an ebuild that will automatically do this via dependencies rather than |
12 |
> provide a message that a lot of users may miss? |
13 |
|
14 |
There's no way to force a rebuild of something through dependencies. |
15 |
Only a revision or version bump can do this. |
16 |
|
17 |
|
18 |
> When glibc is emerged, I assume that only the headers from the linux- |
19 |
> headers package are used and not the headers contained in the kernel |
20 |
> source tree at /usr/src/linux. Is this correct? |
21 |
|
22 |
Depends on the user. External kernel modules always use the headers |
23 |
from /usr/src/linux. User-space programs use the header from the |
24 |
linux-headers package. |
25 |
|
26 |
|
27 |
> Also, what programs, when emerged, would directly use any kernel headers? |
28 |
> I assume only programs that need to access hardware directly through |
29 |
> kernel functions would need to use these headers. Of course glibc calls |
30 |
> the kernel directly, but the only other programs that would need to do |
31 |
> so would deal with video or sound or something similar. Is this correct? |
32 |
|
33 |
As explained above, user-space uses linux-headers. /usr/src/linux is |
34 |
used for building kernel modules. To give examples, |
35 |
x11-drivers/ati-drivers and app-emulation/vmware-modules use |
36 |
/usr/src/linux (kernel sources package), while media-libs/alsa-lib and |
37 |
sys-libs/glibc would use /usr/include/linux (linux-headers package). |