Summary: | sash 3.6 fails to emerge with 2.6 headers | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Siegbert Baude <siegbert.baude> |
Component: | [OLD] Core system | Assignee: | Tim Yamin (RETIRED) <plasmaroo> |
Status: | RESOLVED FIXED | ||
Severity: | major | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Siegbert Baude
2004-02-06 03:38:46 UTC
Sorry, but I'm not content with closing this bug. I saw bug #35784 before, but it has status "RESOLVED-FIXED" and plasmaroo states that it is fixed in linux-headers 2.6.0 . But this is not the case, there is at least one other user, who still has the same problem, look at http://forums.gentoo.org/viewtopic.php?t=132946 I reopen this bug, so there is at least one PR open for this problem. I didn't reopen bug #35784 because I don't know if this one has the same reasons like mine. If someone with more knowledge says, it's the same reason like #35784, then we can instead reopen this one, of course. try re-emerging linux-headers-2.6.0 i just tried it over here and it works fine Works here. Try without ccache? I've gotten the same problem, here's my emerge -U sash output: xyu madd # emerge -U sash >>> --upgradeonly implies --update... adding --update to options. Calculating dependencies ...done! >>> emerge (1 of 1) app-shells/sash-3.6 to / >>> md5 src_uri ;-) sash-3.6.tar.gz >>> Unpacking source... >>> Unpacking sash-3.6.tar.gz to /var/tmp/portage/sash-3.6/work RUNNING FROM extra_functions.sh * Applying sash-3.6-fix-includes.patch... [ ok ] RUNNING FROM extra_functions.sh * Applying sash-3.6-readline.patch... [ ok ] >>> Source unpacked. gcc -O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -fomit-frame-pointer -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o sash.o sash.c sash.c: In function `fileman_completion': sash.c:536: warning: implicit declaration of function `completion_matches' sash.c:536: warning: assignment makes pointer from integer without a cast sash.c: In function `command_generator': sash.c:561: warning: suggest parentheses around assignment used as truth value sash.c: At top level: sash.c:1450: warning: `showPrompt' defined but not used gcc -O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -fomit-frame-pointer -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmds.o cmds.c In file included from /usr/include/linux/fs.h:16, from cmds.c:21: /usr/include/linux/list.h:594:2: warning: #warning "don't include kernel headers in userspace" In file included from /usr/include/linux/fs.h:20, from cmds.c:21: /usr/include/linux/radix-tree.h: In function `radix_tree_preload_end': /usr/include/linux/radix-tree.h:54: error: invalid type argument of `->' /usr/include/linux/radix-tree.h:54: error: `TIF_NEED_RESCHED' undeclared (first use in this function) /usr/include/linux/radix-tree.h:54: error: (Each undeclared identifier is reported only once /usr/include/linux/radix-tree.h:54: error: for each function it appears in.) make: *** [cmds.o] Error 1 !!! ERROR: app-shells/sash-3.6 failed. !!! Function src_compile, Line 38, Exitcode 2 !!! (no error message) I'm running Linux xyu 2.6.2-rc1-gentoo #1 Thu Feb 5 20:24:01 CST 2004 i686 Intel(R) Celeron(R) CPU 2.20GHz GenuineIntel GNU/Linux . The sources are gentoo-dev-sources. emerge info throws: Portage 2.0.50_pre22 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.2-rc1-gentoo) ================================================================= System uname: 2.6.2-rc1-gentoo i686 Intel(R) Celeron(R) CPU 2.20GHz Gentoo Base System version 1.4.3.12 Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb cdr crypt cups dvb dvd encode esd foomaticdb gdbm gif gphoto2 gpm gtk2 imlib java jikes jpeg kde libg++ libwww mad maildir mikmod mmx motif moznocalendar moznoirc mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell sse ssl svga tcpd truetype video_cards_i810 x86 xml2 xmms xv zlib" right, and if your linux-headers-2.6.0 were properly patched then linux/fs.h would have this: #ifdef __KERNEL__ #include <linux/radix-tree.h> #endif plasmaroo: side note ... that isnt ansi compliant ... all pre-processor directives need to have the # as the first char on the line ... perhaps this instead: #ifdef __KERNEL__ # include <linux/radix-tree.h> #endif OK, it seems like both of you are using out-of-date kernel headers. Emerge sync, and make sure you've got at least version 1.5 of linux-headers-2.6.0.ebuild. O.k., in the meantime emerge -e system completed (except sash of course). I re-emerged linux-headers 2.6.0 again, but no change, sadly. Disabling ccache doesn't change anything: # FEATURES="-ccache" emerge sash Calculating dependencies ...done! >>> emerge (1 of 1) app-shells/sash-3.6 to / >>> md5 src_uri ;-) sash-3.6.tar.gz >>> Unpacking source... >>> Unpacking sash-3.6.tar.gz to /var/tmp/portage/sash-3.6/work RUNNING FROM extra_functions.sh * Applying sash-3.6-fix-includes.patch... [ ok ] RUNNING FROM extra_functions.sh * Applying sash-3.6-readline.patch... [ ok ] >>> Source unpacked. gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o sash.o sash.c sash.c: In function `fileman_completion': sash.c:536: Warnung: implicit declaration of function `completion_matches' sash.c:536: Warnung: assignment makes pointer from integer without a cast sash.c: In function `command_generator': sash.c:561: Warnung: suggest parentheses around assignment used as truth value sash.c: At top level: sash.c:1450: Warnung: `showPrompt' defined but not used gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmds.o cmds.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_dd.o cmd_dd.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_ed.o cmd_ed.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_grep.o cmd_grep.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_ls.o cmd_ls.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_tar.o cmd_tar.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_gzip.o cmd_gzip.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_find.o cmd_find.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_file.o cmd_file.c gcc -march=pentium3 -O3 -pipe -Wall -Wmissing-prototypes -DHAVE_GZIP=1 -DHAVE_LINUX_ATTR=1 -DHAVE_LINUX_MOUNT=1 -DHAVE_BSD_MOUNT=0 -DMOUNT_TYPE='"ext3"' -DHAVE_READLINE -c -o cmd_chattr.o cmd_chattr.c In file included from /usr/include/linux/ext2_fs_sb.h:20, from /usr/include/linux/ext2_fs.h:20, from cmd_chattr.c:15: /usr/include/linux/percpu_counter.h: In function `percpu_counter_mod': /usr/include/linux/percpu_counter.h:75: error: invalid type argument of `->' /usr/include/linux/percpu_counter.h:77: error: invalid type argument of `->' /usr/include/linux/percpu_counter.h:77: error: `TIF_NEED_RESCHED' undeclared (first use in this function) /usr/include/linux/percpu_counter.h:77: error: (Each undeclared identifier is reported only once /usr/include/linux/percpu_counter.h:77: error: for each function it appears in.) make: *** [cmd_chattr.o] Fehler 1 !!! ERROR: app-shells/sash-3.6 failed. !!! Function src_compile, Line 38, Exitcode 2 !!! (no error message) What else to try? Sorry, I forgot to mention: I did an emerge sync before re-emerging and the ebuild says: #$Header: /home/cvsroot/gentoo-x86/sys-kernel/linux-headers/linux-headers-2.6.0.ebuild, v 1.5 2004/01/22 18:35:44 spock Exp $ So it doesn't seem to be a problem of failed emerge sync. Hmm - can you please do ``grep "CONFIG_SMP" /usr/include/linux/autoconf.h''. $ grep "CONFIG_SMP" /usr/include/linux/autoconf.h #undef CONFIG_SMP $ BTW, this is an uni-processor system, with an old PIII. Hmm - that's *really* strange because UP systems and SMPs should have the flag set properly. Can you please change the following code in the ebuild, remerge and see if this solves it: - # Do normal src_compile stuff - kernel_src_compile + MY_ARCH=${ARCH} + unset ${ARCH} + make defconfig + ARCH=${MY_ARCH} Bingo!
# grep -A7 \ src_compile /usr/portage/sys-kernel/linux-headers/linux-headers-2.6.0.ebuild
src_compile() {
# Do normal src_compile stuff
# kernel_src_compile
MY_ARCH=${ARCH}
unset ${ARCH}
make defconfig
ARCH=${MY_ARCH}
# If this is sparc, then generate asm_offsets.h
# emerge linux-headers
[snip]
>>> app-shells/sash-3.6 merged.
[snip]
#
So, that is with ccache included.
Now the header changed to:
$ grep "CONFIG_SMP" /usr/include/linux/autoconf.h
#define CONFIG_SMP 1
$
Plasmaroo, you noticed, that I didn't use plain gentoo-dev-sources, but took the vanilla-2.6.2-kernel and applied the patches of gentoo-dev-sources, which aren't already inside 2.6.2?
Maybe something in the kernel sources changed between 2.6.1 and 2.6.2?
Now in CVS; should hit Portage within an hour. Not sure what caused this, but it seems that the standard method of using "make oldconfig" had problems. Thanks for testing this out and squashing this! Regarding the kernel, which one you use shouldn't matter because sash uses the /usr/include/linux headers; i.e. linux-headers; not the headers in /usr/src/... which are installed by your kernel. |