I was rebuilding my system with new CFLAGS, new kernel 2.6.0-test11 (vanilla) and so switching from OSS to ALSA. emerge -e world failing building eject-2.0.13. Here is the log : >>> Unpacking source... >>> Unpacking eject-2.0.13.tar.gz to /var/tmp/portage/eject-2.0.13/work * Applying eject-2.0.13-kernel25-support.patch... [ ok ]>>> Source unpacked. creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking whether the C compiler (gcc -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays ) works... yes checking whether the C compiler (gcc -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for fcntl.h... yes checking for sys/ioctl.h... yes checking for unistd.h... yes checking for working const... yes checking for regcomp... yes checking for strdup... yes checking for strerror... yes updating cache ./config.cache creating ./config.status creating Makefile Making all in po make[1]: Entering directory `/var/tmp/portage/eject-2.0.13/work/eject-2.0.13/po' make[1]: Rien
I was rebuilding my system with new CFLAGS, new kernel 2.6.0-test11 (vanilla) and so switching from OSS to ALSA. emerge -e world failing building eject-2.0.13. Here is the log : >>> Unpacking source... >>> Unpacking eject-2.0.13.tar.gz to /var/tmp/portage/eject-2.0.13/work * Applying eject-2.0.13-kernel25-support.patch... [ ok ]>>> Source unpacked. creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking whether the C compiler (gcc -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays ) works... yes checking whether the C compiler (gcc -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for fcntl.h... yes checking for sys/ioctl.h... yes checking for unistd.h... yes checking for working const... yes checking for regcomp... yes checking for strdup... yes checking for strerror... yes updating cache ./config.cache creating ./config.status creating Makefile Making all in po make[1]: Entering directory `/var/tmp/portage/eject-2.0.13/work/eject-2.0.13/po' make[1]: Rien à faire pour « all ». make[1]: Leaving directory `/var/tmp/portage/eject-2.0.13/work/eject-2.0.13/po'make[1]: Entering directory `/var/tmp/portage/eject-2.0.13/work/eject-2.0.13' gcc -DPACKAGE=\"eject\" -DVERSION=\"2.0.13\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_REGCOMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -I. -I. -I/usr/src/linux -I/usr/src/linux/include -DDEFAULTDEVICE=\"cdrom\" -DGETOPTLONG -Wall -O3 -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays -c eject.c gcc -DPACKAGE=\"eject\" -DVERSION=\"2.0.13\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_REGCOMP=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -I. -I. -I/usr/src/linux -I/usr/src/linux/include -DDEFAULTDEVICE=\"cdrom\" -DGETOPTLONG -Wall -O3 -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays -c volname.c volname.c: Dans la fonction « main »: volname.c:58: attention : implicit declaration of function `exit' gcc -Wall -O3 -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays -o volname volname.o In file included from eject.c:74: /usr/src/linux/include/scsi/scsi.h:203: error: erreur de syntaxe before "u8" /usr/src/linux/include/scsi/scsi.h:203: attention : pas de point virgule à la fin de la structure ou de l'union /usr/src/linux/include/scsi/scsi.h:204: attention : type defaults to `int' in declaration of `medium' /usr/src/linux/include/scsi/scsi.h:204: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:205: error: erreur de syntaxe before "_r2" /usr/src/linux/include/scsi/scsi.h:205: attention : type defaults to `int' in declaration of `_r2' /usr/src/linux/include/scsi/scsi.h:205: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:206: error: erreur de syntaxe before "block_desc_length" /usr/src/linux/include/scsi/scsi.h:206: attention : type defaults to `int' in declaration of `block_desc_length' /usr/src/linux/include/scsi/scsi.h:206: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:207: error: erreur de syntaxe before "density" /usr/src/linux/include/scsi/scsi.h:207: attention : type defaults to `int' in declaration of `density' /usr/src/linux/include/scsi/scsi.h:207: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:208: error: erreur de syntaxe before "number_blocks_hi" /usr/src/linux/include/scsi/scsi.h:208: attention : type defaults to `int' in declaration of `number_blocks_hi' /usr/src/linux/include/scsi/scsi.h:208: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:209: error: erreur de syntaxe before "number_blocks_med" /usr/src/linux/include/scsi/scsi.h:209: attention : type defaults to `int' in declaration of `number_blocks_med' /usr/src/linux/include/scsi/scsi.h:209: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:210: error: erreur de syntaxe before "number_blocks_lo" /usr/src/linux/include/scsi/scsi.h:210: attention : type defaults to `int' in declaration of `number_blocks_lo' /usr/src/linux/include/scsi/scsi.h:210: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:211: error: erreur de syntaxe before "_r3" /usr/src/linux/include/scsi/scsi.h:211: attention : type defaults to `int' in declaration of `_r3' /usr/src/linux/include/scsi/scsi.h:211: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:212: error: erreur de syntaxe before "block_length_hi" /usr/src/linux/include/scsi/scsi.h:212: attention : type defaults to `int' in declaration of `block_length_hi' /usr/src/linux/include/scsi/scsi.h:212: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:213: error: erreur de syntaxe before "block_length_med" /usr/src/linux/include/scsi/scsi.h:213: attention : type defaults to `int' in declaration of `block_length_med' /usr/src/linux/include/scsi/scsi.h:213: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:214: error: erreur de syntaxe before "block_length_lo" /usr/src/linux/include/scsi/scsi.h:214: attention : type defaults to `int' in declaration of `block_length_lo' /usr/src/linux/include/scsi/scsi.h:214: attention : data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:221: error: erreur de syntaxe before "u8" /usr/src/linux/include/scsi/scsi.h:221: attention : pas de point virgule à la fin de la structure ou de l'union make[1]: *** [eject.o] Erreur 1 make[1]: Leaving directory `/var/tmp/portage/eject-2.0.13/work/eject-2.0.13' make: *** [all-recursive] Erreur 1 !!! ERROR: sys-apps/eject-2.0.13 failed. !!! Function src_compile, Line 391, Exitcode 2 !!! emake failed It seems to be related to internal kernel headers... Reproducible: Always Steps to Reproduce: 1. install a 2.6 kernel 2. emerge eject 3. Actual Results: Compilation failed Expected Results: Sucessful compilation of this tool Portage 2.0.49-r18 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.0-test11) ================================================================= System uname: 2.6.0-test11 i686 AMD Athlon(tm) XP 2700+ Gentoo Base System version 1.4.3.12 ccache version 2.3 [enabled] ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache fixpackages sandbox" GENTOO_MIRRORS="ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo ftp://ftp.easynet.nl/mirror/gentoo ftp://gentoo.linux.no/pub/gentoo ftp://ftp.fhh.opensource-mirror.de/pub/gentoo.org" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow X alsa apm avi berkdb bonobo cdr crypt cups dvd encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml imlib java jpeg libg++ libwww lirc mad mikmod mmx mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sdl slang spell sse ssl svga tcpd truetype x86 xml2 xmms xv zlib"
I found a way to compile it. It seems that patch for 2.5 kernel doesn't work properly on 2.6 series, or at least on vanilla 2.6.0-test11. See my "hacked" patch to make eject compile. I don't know if it's really "clean", but at least it makes eject compile ;-)
Created attachment 21733 [details, diff] Patch to properly define __KERNEL__
Fixed in CVS; Thank you!