FS#6506 - can't compile kernel after upgrage on 25th of Feb

Attached to Project: Arch Linux
Opened by newgargamel (newgargamel) - Wednesday, 28 February 2007, 21:15 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To No-one
Architecture not specified
Severity High
Priority Normal
Reported Version 0.7.2 Gimmick
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

http://bbs.archlinux.org/viewtopic.php?id=30348

I can't compile kernel after upgrage on 25th of February. I use testing/current repo.

./include/linux/kernel.h:10:20: error: stdarg.h: No such file or directory
In file included from ./include/asm/system.h:4,
from ./include/asm/processor.h:18,
from ./include/asm/atomic.h:5,
from ./include/linux/crypto.h:20,
from arch/i386/kernel/asm-offsets.c:7:
./include/linux/kernel.h:117: error: expected declaration specifiers or '...' before 'va_list'
./include/linux/kernel.h:123: error: expected declaration specifiers or '...' before 'va_list'
./include/linux/kernel.h:127: error: expected declaration specifiers or '...' before 'va_list'
./include/linux/kernel.h:134: error: expected declaration specifiers or '...' before 'va_list'
./include/linux/kernel.h:149: error: expected declaration specifiers or '...' before 'va_list'
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
==> ERROR: Build Failed. Aborting...

Before everything was ok.
Thanks for help
This task depends upon

Closed by  Jan de Groot (JGC)
Friday, 02 March 2007, 18:51 GMT
Reason for closing:  Won't implement
Comment by newgargamel (newgargamel) - Wednesday, 28 February 2007, 21:41 GMT
from my pacman.log:
[02/20/07 19:47] synchronizing package lists
[02/20/07 19:47] synchronizing package lists
[02/20/07 21:04] synchronizing package lists
[02/20/07 21:04] starting full system upgrade
[02/20/07 21:10] upgraded git (1.5.0-1 -> 1.5.0.1-1)
[02/20/07 21:10] upgraded nvidia-utils (1.0.9746-1 -> 1.0.9746-2)
[02/20/07 21:10] upgraded wine (0.9.30-1 -> 0.9.31-1)
[02/21/07 21:35] synchronizing package lists
[02/21/07 21:35] starting full system upgrade
[02/21/07 21:41] upgraded libgphoto2 (2.3.1-1 -> 2.3.1-2)
[02/21/07 21:41] upgraded mono (1.2.3-1 -> 1.2.3.1-1)
[02/21/07 21:41] upgraded nspr (4.6.4-1 -> 4.6.5-1)
[02/21/07 21:41] upgraded vlc (0.8.6a-3 -> 0.8.6a-4)
[02/22/07 21:51] synchronizing package lists
[02/22/07 21:51] starting full system upgrade
[02/22/07 22:05] upgraded kdemod-kdebase (3.5.6-7 -> 3.5.6-8)
[02/22/07 22:05] upgraded kdemod-kdebase-kicker (3.5.6-1 -> 3.5.6-2)
[02/22/07 22:05] upgraded libieee1284 (0.2.10-2 -> 0.2.10-3)
[02/22/07 22:05] upgraded vte (0.14.2-1 -> 0.14.2-2)
[02/23/07 18:38] synchronizing package lists
[02/23/07 18:39] starting full system upgrade
[02/24/07 18:28] synchronizing package lists
[02/24/07 18:28] starting full system upgrade
[02/24/07 18:32] upgraded gnome-common (2.12.0-6 -> 2.12.0-7)
[02/24/07 18:32] upgraded imagemagick (6.3.1.3-1 -> 6.3.2.8-1)
[02/24/07 18:32] upgraded kdemod-kdebase (3.5.6-8 -> 3.5.6-9)
[02/24/07 18:32] upgraded kdemod-kdebase-kicker (3.5.6-2 -> 3.5.6-3)
[02/24/07 18:33] upgraded kdemod-kdeutils-ark (3.5.6-1 -> 3.5.6-2)
[02/24/07 18:33] upgraded libcddb (1.3.0-1 -> 1.3.0-2)
[02/24/07 18:33] upgraded libgcrypt (1.2.3-1 -> 1.2.4-1)
[02/24/07 18:33] upgraded libtasn1 (0.3.5-1 -> 0.3.8-1)
[02/24/07 18:33] upgraded opencdk (0.5.8-1 -> 0.5.13-1)
[02/24/07 18:33] upgraded qt-enhanced (3.3.7-2 -> 3.3.8-1)
[02/24/07 20:22] removed nvidia-z71v (1.0.9746-1)
[02/24/07 20:23] warning: /boot/kconfig26beyond saved as /boot/kconfig26beyond.pacsave
[02/24/07 20:23] removed kernel26z71v (2.6.19.beyond2-1)
[02/24/07 20:23] installed kernel26z71v-nicus (2.6.20.nicus2-1)
[02/24/07 20:29] installed nvidia-z71v (1.0.9746-1)
[02/24/07 20:51] removed nvidia-z71v (1.0.9746-1)
[02/24/07 21:29] upgraded kernel26z71v-nicus (2.6.20.nicus2-1 -> 2.6.20.nicus2-1)
[02/24/07 21:47] upgraded kernel26z71v-nicus (2.6.20.nicus2-1 -> 2.6.20.nicus2-1)
[02/24/07 22:30] installed klibc (1.4.30-1)
[02/24/07 22:30] installed klibc-extras (2.2-1)
[02/24/07 22:30] installed klibc-udev (105-1)
[02/24/07 22:30] installed gen-init-cpio (2.6.17-1)
[02/24/07 22:30] installed mkinitcpio (0.5.13-1)
[02/24/07 22:30] installed kernel26ck (2.6.20.ck1-1)
[02/24/07 22:33] installed nvidia-ck (1.0.9746-2)
[02/24/07 22:40] synchronizing package lists
[02/24/07 22:40] starting full system upgrade
[02/25/07 11:47] upgraded kernel26z71v-nicus (2.6.20.nicus2-1 -> 2.6.20.nicus2-1)
[02/25/07 12:30] removed kernel26z71v-nicus (2.6.20.nicus2-1)
[02/25/07 12:31] could not extract usr/src/linux-2.6.20/: No such file or directory
[02/25/07 12:31] could not extract usr/src/linux-2.6.20/fs/: No such file or directory
[02/25/07 12:31] could not extract usr/src/linux-2.6.20/fs/dlm/: No such file or directory
[02/25/07 12:31] could not extract usr/src/linux-2.6.20/fs/dlm/Kconfig: No such file or directory
[02/25/07 12:31] errors occurred while installing kernel26z71v
[02/25/07 12:31] installed kernel26z71v (2.6.20.viper4-1)
[02/25/07 12:32] upgraded kernel26z71v (2.6.20.viper4-1 -> 2.6.20.viper4-1)
[02/25/07 12:37] installed nvidia-z71v (1.0.9746-1)
[02/25/07 12:41] removed mplayer-z71v (21039-1)
[02/25/07 12:43] installed mplayer-svn (21828-1)
[02/25/07 12:48] synchronizing package lists
[02/25/07 12:48] starting full system upgrade
Comment by Tobias Powalowski (tpowa) - Thursday, 01 March 2007, 06:34 GMT
i was able to rebuild stock kernel yesterday with everything updated to latest and greatest
Comment by Jan de Groot (JGC) - Thursday, 01 March 2007, 07:41 GMT
Looks like your gcc isn't complete anymore.
Comment by newgargamel (newgargamel) - Thursday, 01 March 2007, 09:20 GMT
I reinstalled gcc and glibc but still the same
btw it's not only me, check forum link from the first post
Comment by Radice David (david_e) - Thursday, 01 March 2007, 09:25 GMT
Same problem here too. Can't compile alsa-driver-1.0.14rc2 and oss-linux modules.

make[1]: Entering directory `/usr/src/linux-2.6.20-ARCH'
CC [M] /home/davide/temp/alsa-driver-1.0.14rc2/acore/hwdep.o
In file included from ./include/asm/system.h:4,
from ./include/asm/processor.h:18,
from ./include/asm/thread_info.h:16,
from ./include/linux/thread_info.h:21,
from ./include/linux/preempt.h:9,
from ./include/linux/spinlock.h:49,
from ./include/linux/module.h:9,
from /home/davide/temp/alsa-driver-1.0.14rc2/include/adriver.h:48,
from /home/davide/temp/alsa-driver-1.0.14rc2/include/sound/driver.h:46,
from /home/davide/temp/alsa-driver-1.0.14rc2/acore/hwdep.c:22:
./include/linux/kernel.h:10:20: error: stdarg.h: No such file or directory
In file included from ./include/asm/system.h:4,
from ./include/asm/processor.h:18,
from ./include/asm/thread_info.h:16,
from ./include/linux/thread_info.h:21,
from ./include/linux/preempt.h:9,
from ./include/linux/spinlock.h:49,
from ./include/linux/module.h:9,
from /home/davide/temp/alsa-driver-1.0.14rc2/include/adriver.h:48,
from /home/davide/temp/alsa-driver-1.0.14rc2/include/sound/driver.h:46,
from /home/davide/temp/alsa-driver-1.0.14rc2/acore/hwdep.c:22:
./include/linux/kernel.h:117: error: expected declaration specifiers or ‘...’ before ‘va_list’
./include/linux/kernel.h:121: error: expected declaration specifiers or ‘...’ before ‘va_list’
./include/linux/kernel.h:125: error: expected declaration specifiers or ‘...’ before ‘va_list’
./include/linux/kernel.h:132: error: expected declaration specifiers or ‘...’ before ‘va_list’
./include/linux/kernel.h:147: error: expected declaration specifiers or ‘...’ before ‘va_list’
make[3]: *** [/home/davide/temp/alsa-driver-1.0.14rc2/acore/hwdep.o] Error 1
make[2]: *** [/home/davide/temp/alsa-driver-1.0.14rc2/acore] Error 2
make[1]: *** [_module_/home/davide/temp/alsa-driver-1.0.14rc2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.20-ARCH'
make: *** [compile] Error 2
Comment by newgargamel (newgargamel) - Thursday, 01 March 2007, 11:26 GMT
so the problem comes from this:
./include/linux/kernel.h:10:20: error: stdarg.h: No such file or directory
Comment by Dennis Brendel (buddabrod) - Thursday, 01 March 2007, 14:28 GMT
But exactly all that stuff is compiling with my gentoo system.
I tried plain vanilla sources and other kernel sources, that error occured always.
Comment by Jan de Groot (JGC) - Thursday, 01 March 2007, 15:05 GMT
Does /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h exist on your system? And what does 'which gcc' tell you?
Comment by Dennis Brendel (buddabrod) - Thursday, 01 March 2007, 15:08 GMT
That file exists

arch ~ # which gcc
/usr/bin/gcc
Comment by Radice David (david_e) - Thursday, 01 March 2007, 15:54 GMT
Same here too.

I can't build NVIDIA drivers too (using abs): same error message.
Comment by Jan de Groot (JGC) - Thursday, 01 March 2007, 16:19 GMT
what settings do you guys have for CARCH and CHOST? Are there other directories in /usr/lib/gcc which don't belong to the gcc package?
Comment by Dennis Brendel (buddabrod) - Thursday, 01 March 2007, 16:54 GMT
CARCH="i686"
CHOST="i686-pc-linux-gnu"

ls /usr/lib/gcc/
i686-pc-linux-gnu
Comment by Ash (Thikasabrik) - Thursday, 01 March 2007, 16:56 GMT
I too have this problem, and echo $CARCH/HOST gives me nothing.
Comment by Dennis Brendel (buddabrod) - Thursday, 01 March 2007, 17:14 GMT
Yeah after exporting those variables manually i was able to compile my kernel^^
I think it's because i played around with bashrc and that stuff, isn't it?
Comment by Radice David (david_e) - Thursday, 01 March 2007, 17:58 GMT
echo $CARCH or echo $CHOST gives me nothing.

ls -A /usr/lib/gcc
i686-pc-linux-gnu

moreover:

export CARCH="i686"
export CHOST="i686-pc-linux-gnu"
./configure && make

gives me the same error. Using the makepkg on NVIDIA's ABS PKGBUILD is the same (and I have export ... in /etc/makepkg.conf).

Tried building as root or as a brand new user (exporting CARCH and CHOST before making). Always the same issue...
Comment by Radice David (david_e) - Thursday, 01 March 2007, 18:04 GMT
PS: Don't know if it's important: I have tried also exporting those variables with a new file in /etc/profiles.d/. Nothing changes.
Comment by newgargamel (newgargamel) - Thursday, 01 March 2007, 21:19 GMT
echo $CARCH or echo $CHOST gives me nothing as well

and:
export CARCH="i686"
export CHOST="i686-pc-linux-gnu"
don't change it :(
Comment by Ash (Thikasabrik) - Thursday, 01 March 2007, 21:58 GMT
Although I suppose I shouldn't expect to see CARCH etc outside the build environment...popping an echo into the PKGBUILD shows they are being set correctly, according to my makepkg.conf is the default - I never changed it.
Comment by Dennis Brendel (buddabrod) - Thursday, 01 March 2007, 22:23 GMT
Did u make an "source /etc/profile"? Maybe it was that.. (old habit from gentoo)
Comment by Radice David (david_e) - Friday, 02 March 2007, 10:09 GMT
Nope.

I can successfully build this:

#include<stdio.h>
#include<stdarg.h>

va_list foo;

int main() {
printf("Hello World!\n");
}

but I can't build anything "real". (Nvidia drivers or OSS-Linux or ALSA-1.0.14RC2)
Comment by Andreas Radke (AndyRTR) - Friday, 02 March 2007, 10:40 GMT
the long pacman.log above shows lots of unofficial packages. probably from custom repos.

somebody with only official repos enabled having this problem?
Comment by Ash (Thikasabrik) - Friday, 02 March 2007, 16:36 GMT
I gotta clue..maybe. Can someone who's build works at the moment post the output of gcc -print-file-name=include
/whilst in the build directory/?

Mine gives /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include in my homedir,
but it give ./include in my kernel build dir.
Comment by Ash (Thikasabrik) - Friday, 02 March 2007, 16:39 GMT
More on that..
This line in the kernel makefile..

NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)

..uses the above command to get the system include path. If I manually paste in the correct path in place of this shell call my build works.
Comment by Ash (Thikasabrik) - Friday, 02 March 2007, 16:50 GMT
Another piece of the puzzle: I get the correct result when I log into to a VT - it only breaks using an X-terminal like gnome-terminal or rxvt... Now comparing env results... It may be important that I use gdm to logon...
Comment by Radice David (david_e) - Friday, 02 March 2007, 16:55 GMT
I have got the same results for gcc -print-file-name=include, but I use kdm and have already tried booting without any *dm and buinding from the VT: same results with VT or Konsole.
Comment by Ash (Thikasabrik) - Friday, 02 March 2007, 17:06 GMT
Ok, got it! Andreas was right - the offending package is qt-enhanced from kdemod! Weird eh?

I guess it's screwing up profile somehow - it's definitely responsible, just tried flipping back and forth between it and the stock qt and (with a logout/login between installs) it toggles this problem on and off. I'll take a look at it...
Comment by newgargamel (newgargamel) - Friday, 02 March 2007, 17:13 GMT
so it was on 24th...
[02/24/07 18:33] upgraded qt-enhanced (3.3.7-2 -> 3.3.8-1)
Comment by Ash (Thikasabrik) - Friday, 02 March 2007, 17:14 GMT
hmmm... the only difference between the profile additions from this package is the addition of this line in qt-enhanced:

export LIBRARY_PATH=$LIBRARY_PATH:/opt/qt/lib

Sure enough, If I run this command in a console my build is screwed. Why? The problem seems to be that LIBRARY_PATH contains nothing before, and so now it begins with a colon. If I remove the colon the problem dissappears. The colon, when at the very beginning of LIBRARY_PATH, is including the current directory, which is the cause of the bad gcc output.

Comment by Jan de Groot (JGC) - Friday, 02 March 2007, 18:50 GMT
Then this is a bug in the qt-enhanced package, it should check whether this variable is empty or not. Furthermore, I wonder why it would add this variable, all programs I know of compile fine when QTDIR is set correctly, they add -L/opt/qt/lib to the link flags on compilation time, giving the same results.

Loading...