Attempting to build openafs-kernel-1.4.11 against vanilla-sources-2.6.33-rc4 fails with this message: "checking your OS... configure: error: Linux headers lack version definition" Looks to me as if something in the header definitions changed in 2.6.33, and the configure step of openafs-kernel doesn't like it. Reproducible: Always Steps to Reproduce: 1.Build vanilla-sources-2.6.33-rc4 2.Boot the new kernel 3.Rejoice that the nouveau drivers "just work" (having put firmware in-place first) 4.login, "emerge -a1v openafs-kernel" Actual Results: Fails during configure step with previously mentioned message Expected Results: Should have configured, built, loaded, etc. Obviously Gentoo doesn't support vanilla-sources, especially not "-rc4". But I would expect this change to move it's way into gentoo-sources eventually. This looks like it will be fixed upstream at some point, so the fix will likely be openafs(-kernel)-1.4.12 or some such. Incidentally, as hinted above, I'm playing with 2.6.33-rc4 in order to get newer nouveau support, because I'm having problems with 2.6.31.8. There is no level of nouveau support available for gentoo-sources - there are only patches against vanilla-sources or the new 2.6.33 staging drivers. emerge --info localhost ~ # emerge --info Portage 2.2_rc33 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.10.1-r1, 2.6.33-rc4 x86_64) ================================================================= System uname: Linux-2.6.33-rc4-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7700_@_2.40GHz-with-gentoo-1.12.13 Timestamp of tree: Tue, 19 Jan 2010 08:30:19 +0000 app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.9-r2 dev-lang/python: 2.6.4 dev-python/pycrypto: 2.0.1-r8 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=native" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="en en_US" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--timeout=180" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/enlightenment /usr/local/portage/layman/ibm-internal /usr/local/portage/layman/x11 /usr/local/portage/mine" SYNC="rsync://127.0.0.1/gentoo-portage" USE="X Xaw3d a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo caps cddb cdr cli consolekit cracklib crypt cups curl cxx dbus dirac dnotify dri drm dts dvd dvdr dvdread emboss encode expat fam flac fortran gd gdbm gif glib gnutls gpm graphviz gstreamer gtk hal iconv idn imagemagick imlib inotify java jpeg jpeg2k lcms ldap libnotify libsamplerate lm_sensors logrotate mad matroska mikmod mmx mng modules motif mozilla mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf perl plotutils png posix ppds python qt3 qt3support qt4 quicktime readline reflection schroedinger sdl session smp spell spl sqlite sse sse2 ssl startup-notification svg sysfs tcl tcpd theora threads thunar tiff tk truetype unicode usb vcd verbose vorbis wifi wma wxwindows x264 xattr xcb xml xorg xsettings xulrunner xv xvid zlib" ALSA_CARDS="intel_hda" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="synaptics keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv vesa nvidia nouveau" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS localhost ~ #
Created attachment 216901 [details] Logfile from configure step Error message from ebuild said to attach this file to the bug report.
I've faked up a local ebuild for openafs/openafs-kernel-1.4.12_pre1 and am running that successfully, for an hour or two today, so far. I found one other build problem with 2.6.33-rc4: The file "/usr/src/linux/include/linux/autoconf.h", which is apparently needed by openafs-kernel, has been moved to "/usr/src/linux/include/generated/autoconf.h". As-is, openafs-kernel fails the configure step because it can't find the right headers. To work around this problem, I have symlinked "../generated/autoconf.h ->autoconf.h" so it also appears in the spot where openafs-kernel expects to find it.
i am using gentoo-sources-2.6.33 and even after linkinh of autoconf.h i have problem in configure part checking for pid_t... yes checking for size_t... yes checking return type of signal handlers... void checking for __FUNCTION__ and __LINE__ macros... yes checking whether ln -s works... yes checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib checking for bison... bison -y checking whether byte order is known at compile time... yes checking whether byte ordering is bigendian... no checking your OS... configure: error: Linux headers lack version definition !!! Please attach the following file when seeking support: !!! /var/tmp/portage/net-fs/openafs-kernel-1.4.11/work/openafs-1.4.11/config.log * ERROR: net-fs/openafs-kernel-1.4.11 failed: * econf failed * * Call stack: * ebuild.sh, line 48: Called src_compile * environment, line 3563: Called econf '--with-linux-kernel-headers=/usr/src/linux' '--with-linux-kernel-build=/lib/modules/2.6.33-gentoo/build' * ebuild.sh, line 538: Called die * The specific snippet of code: * die "econf failed" * * If you need support, post the output of 'emerge --info =net-fs/openafs-kernel-1.4.11', * the complete build log and the output of 'emerge -pqv =net-fs/openafs-kernel-1.4.11'. * The complete build log is located at '/var/log/portage/net-fs:openafs-kernel-1.4.11:20100315-103312.log'. * The ebuild environment file is located at '/var/tmp/portage/net-fs/openafs-kernel-1.4.11/temp/environment'. * S: '/var/tmp/portage/net-fs/openafs-kernel-1.4.11/work/openafs-1.4.11'
As mentioned before, i also had to symlink autoconf.h . After that the version check fails because the vanilla kernel stores the file utsrelease.h in /usr/src/linux/include/generated/utsrelease.h but the openafs configure stript is only searching it in /usr/src/linux/include/linux/ if you link the files, you'll pass the check: ln -s /usr/src/linux/include/generated/utsrelease.h /usr/src/linux/include/linux/utsrelease.h after that, the configure script finishes properly, but openafs-kernel then fails while compiling with: /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:32: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:32: error: 'CTL_UNNUMBERED' undeclared here (not in a function) /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:44: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:56: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:68: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:80: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:92: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:108: error: unknown field 'ctl_name' specified in initializer /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:108: error: initializer element is not constant /var/tmp/paludis/net-fs-openafs-kernel-1.4.11/work/openafs-1.4.11/src/libafs/MODLOAD-2.6.33-gentoo-MP/osi_sysctl.c:108: error: (near initialization for 'fs_sysctl_table[0].procname') It's trying to use the field ctl_name from ctl_table, which doesn't exist (anymore?) in linux/sysctl.h.
Created attachment 224919 [details, diff] Patches the missing header check, deletes the obsoloete ctl_name field in ctl_table This patch WILL BREAK all builds against a kernel < 2.6.33 !
I wrote a small patch, deleting the unused parts from osi_sysctl and fixed the missing line to check the headers in the right place. I attached a patchfile, but can't guarantee that there are no side effects, i haven't seen any though. But i have to place this warning: !!!! This patch WILL BREAK all builds against a kernel < 2.6.33, so use it with caution! !!!! The new version could also be optained from my overlay: git://wthack.de/exi-paludis.git
(In reply to comment #6) > I wrote a small patch, deleting the unused parts from osi_sysctl and fixed the > missing line to check the headers in the right place. > I attached a patchfile, but can't guarantee that there are no side effects, i > haven't seen any though. > But i have to place this warning: > !!!! > This patch WILL BREAK all builds against a kernel < 2.6.33, so use it with > caution! > !!!! > The new version could also be optained from my overlay: > git://wthack.de/exi-paludis.git > thisone is not working with 2.6.34.
openafs-kernel-1.4.12.1 should fix things
According to bug 302457 (depends on this bug) this shouldn't be marked as fixed until the fix is in the stable tree. Version 1.4.12.1 either has similar or different issues with gentoo-sources-2.6.36-r5, which is stable on amd64 while this is the only stable openafs-kernel and doesn't work with the most current gentoo-sources package. Can we get the fix backported to openafs-1.4.12.1?