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>
