#158 Build failure on MacOSX 10.4.8

open
nobody
None
5
5 days ago
2006-11-14
Sci_Fi
No

Hi,

Having build problems with cdrdao-1.2.2 on MacOSX
10.4.8 using latest XCode-2.4.1 & SDKs etc. on PPC.

The same build problem happens no matter which way
--with-scglib is set to. Here's the failing bit when
building cdrdao --with-scglib=pkg:
>>>>
[...]
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I./../trackdb
-I./../paranoia -I./../scsilib/export
-I./../scsilib/export/libschily
-DDRIVER_TABLE_FILE=\"/usr/local/share/cdrdao/drivers\"
-g -O2 -MT ScsiIf-lib.o -MD -MP -MF
".deps/ScsiIf-lib.Tpo" -c -o ScsiIf-lib.o ScsiIf-lib.cc; \ then mv -f ".deps/ScsiIf-lib.Tpo"
".deps/ScsiIf-lib.Po"; else rm -f
".deps/ScsiIf-lib.Tpo"; exit 1; fi
ScsiIf-lib.cc:445: error: no ‘const char*
ScsiIfImpl::makeDevName(int, int)’ member function
declared in class ‘ScsiIfImpl’
ScsiIf-lib.cc:470: error: no ‘const char*
ScsiIfImpl::openScsiDevAsSg(const char*)’ member
function declared in class ‘ScsiIfImpl’
ScsiIf-lib.cc: In member function ‘const char*
ScsiIfImpl::openScsiDevAsSg(const char*)’:
ScsiIf-lib.cc:480: error: ‘O_RDONLY’ was not declared
in this scope
ScsiIf-lib.cc:480: error: ‘O_NONBLOCK’ was not declared
in this scope
ScsiIf-lib.cc:480: error: ‘open’ was not declared in
this scope
ScsiIf-lib.cc:482: error: ‘O_RDWR’ was not declared in
this scope
ScsiIf-lib.cc:490: error: ‘SG_GET_TIMEOUT’ was not
declared in this scope
ScsiIf-lib.cc:490: error: ‘ioctl’ was not declared in
this scope
ScsiIf-lib.cc:504: error: ‘SCSI_IOCTL_GET_IDLUN’ was
not declared in this scope
ScsiIf-lib.cc:514: error: ‘O_RDONLY’ was not declared
in this scope
ScsiIf-lib.cc:514: error: ‘O_NONBLOCK’ was not declared
in this scope
ScsiIf-lib.cc:514: error: ‘open’ was not declared in
this scope
ScsiIf-lib.cc:516: error: ‘O_RDWR’ was not declared in
this scope
ScsiIf-lib.cc:523: error: ‘O_RDWR’ was not declared in
this scope
ScsiIf-lib.cc:546: error: ‘SCSI_IOCTL_GET_IDLUN’ was
not declared in this scope
make[2]: *** [ScsiIf-lib.o] Error 1
make[2]: Leaving directory
`/Volumes/MaxFire3/Projects/cdrdao-1.2.2/dao'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/Volumes/MaxFire3/Projects/cdrdao-1.2.2'
make: *** [all] Error 2
make: Leaving directory
`/Volumes/MaxFire3/Projects/cdrdao-1.2.2'
<<<<

Here's what ./configure said:
>>>>
root# ./configure
checking for a BSD-compatible install...
/usr/local/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions
of Makefiles... no
checking build system type... powerpc-apple-darwin8.8.0
checking host system type... powerpc-apple-darwin8.8.0
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install...
/usr/local/bin/install -c
checking for ranlib... ranlib
checking for ar... ar
checking whether make sets $(MAKE)... (cached) yes
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for unistd.h... (cached) yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking whether byte ordering is bigendian... yes
checking return type of signal handlers... void
checking for short... yes
checking size of short... 2
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for long long... yes
checking size of long long... 8
checking for u_int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for u_int16_t... yes
checking for u_int32_t... yes
checking for sched_getparam... no
checking for sched_getparam in -lposix4... no
checking for sched_get_priority_max... yes
checking for sched_setscheduler... no
checking for sched_setscheduler in -lposix4... no
checking for socket in -lsocket... no
checking for connect in -lsocket... no
checking for gethostbyname in -lnsl... no
checking for inet_addr in -lnsl... no
checking for inet_ntoa in -lnsl... no
checking for strerror... yes
checking for mlockall... yes
checking for munlockall... yes
checking for getpagesize... yes
checking for usleep... yes
checking for setreuid... yes
checking for setregid... yes
checking for seteuid... yes
checking for setegid... yes
checking for setuid... yes
checking for setgid... yes
checking for inet_aton... yes
checking for pthread_create... yes
checking for pthread_sigmask... yes
checking for pthread_attr_setschedpolicy... yes
checking for pthread_attr_setschedparam... yes
checking for pthread_getschedparam... yes
checking for pthread_setschedparam... yes
checking for Lame library version >= 3.92... yes
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SIGCPP2... Building of gcdmaster disabled
checking for GTKMM2... Building of gcdmaster disabled
checking for LIBGUIMM2... Building of gcdmaster disabled
checking for VORBISFILE... yes
checking for MAD... libMAD detection via pkg-config failed
checking for mad_stream_init in -lmad... yes
checking mad.h usability... yes
checking mad.h presence... yes
checking for mad.h... yes
checking for AO... yes
configure: creating ./config.status
config.status: creating trackdb/Makefile
config.status: creating dao/Makefile
config.status: creating utils/Makefile
config.status: creating xdao/Makefile
config.status: creating xdao/stock/Makefile
config.status: creating paranoia/Makefile
config.status: creating pccts/Makefile
config.status: creating pccts/antlr/Makefile
config.status: creating pccts/dlg/Makefile
config.status: creating Makefile
config.status: creating specs/cdrdao.fedora.spec
config.status: creating config.h
config.status: executing depfiles commands

------------------------------------------------------
Building scsilib : yes
Building pccts : yes
Building cdrdao : yes
OGG support : yes
MP3 support : yes
Building toc2cue : yes
Building cue2toc : yes
Building toc2mp3 : yes
Building gcdmaster : no
------------------------------------------------------
<<<<

(We also tried building --with-scglib=sys which points
to the libs built from cdrtools-2.01.01a14; the
scsi-mac-iokit is at v1.10 there, and I copied all the
scg/*.h headers over to /usr/local/include by hand to
be sure. Same build failure in this case.)

Some months ago we were able to build cdrdao-1.2.1
okay, but this module ScsiIf-lib.cc seems to be vastly
different since then. ;)

All third-party projects were built myself, too, i.e.
no fink'd pkgs etc. ;)

This is beyond me. If anyone can help, I should be
able to try any patches or whatever.

(The attached file is a copy of this report to get a
clean non-wordwrapped copy.)

Thank you.

Discussion

  • Logged In: NO

    If you change the #ifndef linux in dao/ScsiIf-lib.cc:433 to #ifdef linux, you'll find that it builds. This appeared to be the intention from the top of the file (note #ifdef from line 62-65)... Builds for me. (Intel C2D, MacOS 10.4.9, Xcode 2.4.1)

    Cheers,
    bytestorm at gmail ten com

     
  • Sci_Fi
    Sci_Fi
    2007-04-20

    Logged In: YES
    user_id=1238044
    Originator: YES

    Thanks bytestorm for the tip. It did finish building & installing here. Let me give it a try on some CDs. I'm going --with-scglib=sys which should still be a later version of the scsi-mac-iokit from cdrtools rather than the one in this tarball (altho I've lost track now what I was doing ~5 months ago in this area ;) ). If this all works, I'll open a patch report (cvs repo doesn't show any changes for 6 months i.e. since 1.2.2 was branched). Thanks again!