Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Sep 2000 22:29:32 -0700 (PDT)
From:      BeSchmidt@cloaked.de
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/21512: cdrdao fails to build with SCGLIB
Message-ID:  <20000924052932.3786037B43C@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         21512
>Category:       misc
>Synopsis:       cdrdao fails to build with SCGLIB
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 23 22:30:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Benedikt Schmidt
>Release:        4-stable
>Organization:
Universitaet Karlsruhe
>Environment:
FreeBSD steele.intra 4.1-STABLE FreeBSD 4.1-STABLE #5: Fri Sep 15 15:44:29 CEST 2000     steele@steele.intra:/usr/home/src/sys/compile/STEELE  i38
>Description:
/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.




>How-To-Repeat:
cd /usr/ports/audio/cdrdao; make install
>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 

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000924052932.3786037B43C>