Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 185537

Summary: emerge wants to merge linux-headers newer than installed kernel
Product: Gentoo Linux Reporter: Mike Nerone <mike>
Component: [OLD] Core systemAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: VERIFIED INVALID    
Severity: normal    
Priority: High    
Version: 2007.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Mike Nerone 2007-07-16 14:33:06 UTC
After syncing today, emerge -u wants to merge a newer version of linux-headers than the stable kernel (using hardened-sources):

===========================================
# equery list | grep sources
sys-kernel/hardened-sources-2.6.20-r5
# emerge -p hardened-sources linux-headers

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-kernel/hardened-sources-2.6.20-r5
[ebuild     U ] sys-kernel/linux-headers-2.6.21 [2.6.17-r2]
===========================================

Isn't it "bad" to build glibc against a version of the headers package that is newer than the running kernel? And doesn't the kernel-2 eclass enforce this?

Note: in an effort to get this server eventually fully switched to the hardened profile, I have it set to that profile, but with "<sys-libs/glibc-2.5" and "<sys-devel/gcc-4.2" in package.unmask (because downgrading glibc is also "bad"). If the situation I'm reporting is somehow a side-effect of that, please explain it to me. :)

Thanks!
Comment 1 Mike Nerone 2007-07-16 14:33:49 UTC
# emerge --info
Portage 2.1.2.9 (hardened/x86/2.6, gcc-4.1.2, glibc-2.4-r4, 2.6.20-hardened-r5 i686)
=================================================================
System uname: 2.6.20-hardened-r5 i686 Pentium III (Coppermine)
Gentoo Base System release 1.12.9
Timestamp of tree: Mon, 16 Jul 2007 13:20:01 +0000
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -fforce-addr -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -fforce-addr -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg collision-protect distlocks fixpackages parallel-fetch sandbox sfperms strict userfetch userpriv userpriv_fakeroot usersandbox verify-rdepend"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://mirrors.tds.net/gentoo"
LANG="en_US"
LINGUAS="en en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/nerone"
SYNC="rsync://rsync.nerone.org/gentoo-portage"
USE="aac acl bash-completion branding bzip2 caps cdparanoia cracklib crypt cups dv dvd dvdread fam fastcgi flash foomaticdb ftp gd gs hardened headless imap ithreads jpeg live lzo mailwrapper matroska mcal memlimit midi mmap mmx mmx2 ncurses network nls nntp nptl nptlonly pam pcre perl pic pie ppds python readline real rtc samba sasl slp sse ssl syslog theora threads tiff truetype unicode urandom x86 xml xorg xvid zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-07-16 14:35:13 UTC
(In reply to comment #0)
> Isn't it "bad" to build glibc against a version of the headers package that is
> newer than the running kernel? 

No, not at all.

Comment 3 Mike Nerone 2007-07-16 14:58:40 UTC
Really? I've always understood that headers newer than the kernel are bad because they can reference APIs that don't yet exist in the running kernel. This has even been mentioned many times on Gentoo lists (and elsewhere), such as at http://osdir.com/ml/linux.gentoo.server/2005-03/msg00097.html . Has this changed, or was this belief always incorrect?
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-07-16 15:01:55 UTC
May I ask why are you CCing me? It's perfectly safe to use 2.6 headers w/ 2.4 kernels even.
Comment 5 Mike Nerone 2007-07-16 15:03:59 UTC
Ok, if you say so (and I CC'd you because you had provided the previous response, and if I didn't CC somebody, I don't think anyone would see the bug due to its resolved status).