Summary: | kernel 2.6.26 is a nanokernel but ntp builds for a microkernel - missing linux-headers-2.6.26 ebuild | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Hal Engel <hvengel> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | 2007.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Hal Engel
2008-07-26 22:13:14 UTC
upgrade your toolchain to the latest versions and things should magically work What is missing on my system is that with kernels starting with 2.6.26-rc8 there are changes to the timex.h file that are not reflected in /usr/include/sys/timex.h. So far the only way I have found to correct this is to hand copy the nanokernel specific changes from the timex.h file in the kernel source tree to /usr/include/sys/timex.h. I suspect that the correct way to handle this would be to emerge a newer version of linux-headers that contains an updated version of timex.h. The latest linux-headers ebuild in portage is 2.6.25-r4. I just checked the header files that are part of the linux-headers-2.6.25-r4 tarball and include/linux/timex.h does not contain any of the nanokernel declarations. The simple way to check this is to search timex.h for STA_NANO. Just an FYI there are other nanokernel specific changes in timex.h besides #define STA_NANO ... With linux-headers-2.6.25-r4 installed ntp builds for a microkernel when in fact I have a nanokernel installed which will be the case for all users once they upgrade their kernels to 2.6.26 or later. This is clearly not the correct behavior and results in ntp being broken even though it appears to be working unless it's behavior is very closely inspected. I guess that I should have been more specific and opened this against linux-headers so that it was clearer what the specific problem is. Sorry I should have been clearer - my bad. Specifically the issue is that currently there is no linux-headers-2.6.26 ebuild available and using the existing linux-header ebuilds results in ntp being broken with these newer kernels. I should add that even with the incorrectly built ntp it appears on the surface to be working but when connected to a high stability time source such as a GPS, loran or atomic clock the incorrect ntpd build will exhibit very significant issues with clock instability and degraded clock accuracy. After an emerge --sync today I see that linux-headers-2.6.26 is available. Inspecting /usr/include/linux/timex.h after emerging it I see that it now has the nanosecond related declarations. So I am closing this. |