| Summary: | cdrdao fails to build with SCGLIB | ||
|---|---|---|---|
| Product: | Base System | Reporter: | BeSchmidt <BeSchmidt> |
| Component: | misc | Assignee: | freebsd-ports (Nobody) <ports> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->feedback Is this still a problem with the upgrade of cdrdao to 1.1.5? Responsible Changed From-To: freebsd-bugs->freebsd-ports This is more of a ports issue. State Changed From-To: feedback-> closed Submitter reports problem fixed by ports upgrade. |
/usr/ports/audio/cdrdao doesn't compile because of problems with scglib. When you use "WITHOUT_SCGLIB=yes" it compiles fine but doesn't work. I get something like CAM_Error: device not find ... (but afaik it never worked without scglib so I didn't care) The problem is that `struct scsi_mode_page_header' is defined in /usr/include/cam/scsi/scsi_all.h _and_ /usr/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/libscg/scg/scsireg.h. These definitions are not identical. It fails with the following messages: ... ==> MAKING "all" ON SUBDIRECTORY "SRCROOT/lib" gmake[2]: Entering directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/ lib' ==> MAKING "all" ON SUBCOMPONENT "SRCROOT/lib/libschily.mk" gmake[3]: Entering directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/ lib' ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/cvmod.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/dat.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/fcons.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/fgetline.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/fileopen.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/fileread.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/filewrite.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/flag.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/flush.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/niread.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/astoi.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/comerr.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/error.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/fconv.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/fillbytes.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/format.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/getfp.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/getdomainname.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/gethostid.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/gethostname.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/getargs.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/getav0.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/geterrno.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/jsprintf.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/jssnprintf.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/jssprintf.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/movebytes.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/printf.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/raisecond.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/saveargs.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/sprintf.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/streql.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/swabbytes.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/usleep.d: No such file or directory ==> MAKING DIRECTORY "OBJ/i386-freebsd-cc" ==> MAKING DEPENDENCIES "OBJ/i386-freebsd-cc/usleep.d" ==> MAKING DEPENDENCIES "OBJ/i386-freebsd-cc/swabbytes.d" ==> MAKING DEPENDENCIES "OBJ/i386-freebsd-cc/streql.d" ... ==> MAKING "all" ON SUBDIRECTORY "SRCROOT/libscg" gmake[2]: Entering directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/ libscg' ==> MAKING "all" ON SUBCOMPONENT "SRCROOT/libscg/libscg.mk" gmake[3]: Entering directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/ libscg' ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/scsitransp.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/scsiopen.d: No such file or directory ../RULES/r-gmake.dep:76: OBJ/i386-freebsd-cc/scsierrs.d: No such file or directory ==> MAKING DIRECTORY "OBJ/i386-freebsd-cc" ==> MAKING DEPENDENCIES "OBJ/i386-freebsd-cc/scsierrs.d" ==> MAKING DEPENDENCIES "OBJ/i386-freebsd-cc/scsiopen.d" ==> MAKING DEPENDENCIES "OBJ/i386-freebsd-cc/scsitransp.d" gmake[3]: Leaving directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/l ibscg' gmake[3]: Entering directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/ libscg' ==> COMPILING "OBJ/i386-freebsd-cc/scsitransp.o" In file included from /usr/include/cam/cam_ccb.h:41, from scsi-bsd.c:477, from scsihack.c:58, from scsitransp.c:144: /usr/include/cam/scsi/scsi_all.h:681: redefinition of `struct scsi_mode_page_header' gmake[3]: *** [OBJ/i386-freebsd-cc/scsitransp.o] Error 1 gmake[3]: Leaving directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/l ibscg' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/l ibscg' ==> MAKING "all" ON SUBDIRECTORY "SRCROOT/export" gmake[2]: Entering directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/scsilib/ export' ... ranlib libdao.a c++ -o cdrdao main.o -L. -ldao -L../paranoia -lcdda_paranoia -L../trackdb -ltrackdb -L.. /edc_ecc -ledc_ecc -L../scsilib/export -lscg -lschily -lcam /usr/libexec/elf/ld: cannot find -lscg gmake[1]: *** [cdrdao] Error 1 gmake[1]: Leaving directory `/usr/home/src/ports/audio/cdrdao/work/cdrdao-1.1.3/dao' gmake: *** [all] Error 1 *** Error code 2 Stop in /usr/home/src/ports/audio/cdrdao. *** Error code 1 Stop in /usr/home/src/ports/audio/cdrdao. *** Error code 1 Stop in /usr/home/src/ports/audio/cdrdao. Fix: I have fixed the problem by commenting out the struct definition for `struct scsi_mode_page_header' on line 681 in /usr/include/cam/scsi/scsi_all.h before compiling cdrdao and restoring this file after the succesfull compilation. This no real fix just my way to get it to compile. I think libscg should be changed so that there are no How-To-Repeat: cd /usr/ports/audio/cdrdao; make install