From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040120 Description of problem: The binary RPMs cannot be built from cdrtools-2.01-0.a27.3.src.rpm due to the failure of library libscg.a to build. The compile of the library source files is halted with syntax errors. Here is a snippet of the output: make[1]: Entering directory `/home/BUILD/cdrtools-2.01/libscg' ==> MAKING "install" ON SUBCOMPONENT "SRCROOT/libscg/libscg.mk" make[2]: Entering directory `/home/BUILD/cdrtools-2.01/libscg' ==> COMPILING "OBJ/i686-linux-cc/scsihack.o" In file included from scsi-linux-sg.c:69, from scsihack.c:127: /usr/src/linux/include/scsi/scsi.h:217: error: syntax 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: data definition has no type or storage class /usr/src/linux/include/scsi/scsi.h:219: error: syntax error before "_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: syntax error before "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: syntax error before "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: syntax error before "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: syntax error before "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: syntax error before "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: syntax error before "_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: syntax error before "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: syntax error before "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: syntax error before "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: syntax error before "u8" /usr/src/linux/include/scsi/scsi.h:235: warning: no semicolon at end of struct or union Version-Release number of selected component (if applicable): 2.01-0.a27.3 How reproducible: Always Steps to Reproduce: 1. Install FC2 with "[] Everything" package selection 2. Run "rpmbuild --rebuild cdrtools-2.01-0.a27.3.src.rpm" 3. Actual Results: Failure of source file scsihack.c to compile. Expected Results: Binary packages should build without error. Additional info: After the failure of scsihack.c to compile, the build continues. (That's another problem, IMHO.) The build of the binary RPM packages is later halted by the absence of the libscg.a library, which is dependant on the scsihack.o object file. After the package build fails, scroll up to see the compile failure.
I just tried building cdrtools-2.01-0.a27.4.src.rpm, an update which was released today. Same behavior as the older revision. FYI.
/usr/src/linux does not exist on my build machine
The /usr/src/linux is a symlink, added by me because many source packages expect it. Like this: # ll /usr/src/linux lrwxrwxrwx 1 root root 22 Jun 8 14:45 /usr/src/linux -> linux-2.6.5-1.358/ As a test I just removed the symlink and attempted to rebuild cdrtools-2.01-0.a27.4.src.rpm. It built without error. It seems that the build will use the kernel source header file in preference to the file of the same name installed by glibc-headers, but that only the latter file will work.
because of glibc-headers /usr/src/linux should never be included directly.. I should remove that from the cdrtools makefiles... instead /usr/include/linux should be used nowadays (which was a symlink to /usr/src/linux).