eject and 2.6

Nick Hudson nhudson at lunar-linux.org
Wed Aug 4 19:29:30 GMT 2004


gcc: 3.3.3
glibc: 2.3.2
kernel-headers-2.6: 2.6.7.0
kernel: 2.6.7

I get the following error message while building, this error message is 
the exat same on everyone of my boxes, all boxes have the same versions 
as above only diffrence is processors and ram between them.

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  -O2 -mcpu=pentium3 
-march=pentium3 -mmmx -msse -mfpmath=sse,387 -c eject.c
In file included from eject.c:68:
/usr/src/linux/include/scsi/scsi.h:217: error: parse error before "u8"
/usr/src/linux/include/scsi/scsi.h:217: warning: no semicolon at end of 
struct or union
/usr/src/linux/include/scsi/scsi.h:218: warning: type defaults to `int' 
in declaration of `medium'
/usr/src/linux/include/scsi/scsi.h:218: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:219: error: parse error before "_r2"
/usr/src/linux/include/scsi/scsi.h:219: warning: type defaults to `int' 
in declaration of `_r2'
/usr/src/linux/include/scsi/scsi.h:219: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:220: error: parse error before 
"block_desc_length"
/usr/src/linux/include/scsi/scsi.h:220: warning: type defaults to `int' 
in declaration of `block_desc_length'
/usr/src/linux/include/scsi/scsi.h:220: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:221: error: parse error before "density"
/usr/src/linux/include/scsi/scsi.h:221: warning: type defaults to `int' 
in declaration of `density'
/usr/src/linux/include/scsi/scsi.h:221: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:222: error: parse error before 
"number_blocks_hi"
/usr/src/linux/include/scsi/scsi.h:222: warning: type defaults to `int' 
in declaration of `number_blocks_hi'
/usr/src/linux/include/scsi/scsi.h:222: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:223: error: parse error before 
"number_blocks_med"
/usr/src/linux/include/scsi/scsi.h:223: warning: type defaults to `int' 
in declaration of `number_blocks_med'
/usr/src/linux/include/scsi/scsi.h:223: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:224: error: parse error before 
"number_blocks_lo"
/usr/src/linux/include/scsi/scsi.h:224: warning: type defaults to `int' 
in declaration of `number_blocks_lo'
/usr/src/linux/include/scsi/scsi.h:224: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:225: error: parse error before "_r3"
/usr/src/linux/include/scsi/scsi.h:225: warning: type defaults to `int' 
in declaration of `_r3'
/usr/src/linux/include/scsi/scsi.h:225: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:226: error: parse error before 
"block_length_hi"
/usr/src/linux/include/scsi/scsi.h:226: warning: type defaults to `int' 
in declaration of `block_length_hi'
/usr/src/linux/include/scsi/scsi.h:226: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:227: error: parse error before 
"block_length_med"
/usr/src/linux/include/scsi/scsi.h:227: warning: type defaults to `int' 
in declaration of `block_length_med'
/usr/src/linux/include/scsi/scsi.h:227: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:228: error: parse error before 
"block_length_lo"
/usr/src/linux/include/scsi/scsi.h:228: warning: type defaults to `int' 
in declaration of `block_length_lo'
/usr/src/linux/include/scsi/scsi.h:228: warning: data definition has no 
type or storage class
/usr/src/linux/include/scsi/scsi.h:235: error: parse error before "u8"
/usr/src/linux/include/scsi/scsi.h:235: warning: no semicolon at end of 
struct or union
make[1]: *** [eject.o] Error 1
make[1]: Leaving directory `/usr/src/eject-2.0.13'
make: *** [all-recursive] Error 1

The patch that was supplied from Gentoo via vertigo on the mailing list 
took care of this problem, hence the reason for the patch.


Nick


Eric Sandall wrote:

> Quoting Nick Hudson <nhudson at lunar-linux.org>:
> 
>>eject will not compile under a 2.6.x kernel.  Or atleat in my tests it 
>>will not.  It gets cought up at some scsi api diffrences from the 2.4.x 
>>kernel and 2.6.x kernel.  This patch fixes that problem and will allow 
>>it to compile under a 2.6.x kernel.  But if you compiled it along time 
>>ago under the 2.4 kernel it should still work fine, the problem comes in 
>>when you go and compile it.
> 
> 
> I just compiled it today to find out what the problem was (I didn't have eject
> installed before this).
> 
> gcc 3.3.3
> glibc-kernel-headers 2.6.6.0
> glibc 2.3.3 (20040628 NPTL snapshot)
> linux 2.6.7
> 
> -sandalle
> 


More information about the Lunar mailing list