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

Bug 35088

Summary: eject-2.0.13 compilation error on kernel 2.6
Product: Gentoo Linux Reporter: jack_mort <jackmort37>
Component: [OLD] Core systemAssignee: x86-kernel (DEPRECATED) <x86-kernel>
Status: RESOLVED FIXED    
Severity: normal CC: radek
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Patch to properly define __KERNEL__

Description jack_mort 2003-12-04 14:13:42 UTC
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 
Comment 1 jack_mort 2003-12-04 14:13:42 UTC
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"
Comment 2 jack_mort 2003-12-05 01:40:34 UTC
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 ;-)
Comment 3 jack_mort 2003-12-05 01:42:07 UTC
Created attachment 21733 [details, diff]
Patch to properly define __KERNEL__
Comment 4 Tim Yamin (RETIRED) gentoo-dev 2003-12-05 09:08:39 UTC
Fixed in CVS; Thank you!