Ok. I now see what's going on. You are using the last release from about a
year ago, while I was looking at the current git sources which I believe
cover High Sierra. So there are now a couple of possible solutions.

So one possible solution is to build from git. Another is to change

darwin[6-9].*|darwin1[0-6].*)

to

darwin[6-9].*|darwin1[0-7].*)

in your configure script so it convers High Sierra.

The linker errors you get is because the shell code underneath sets up
additional OSX libraries needed. So changing config.h isn't sufficient. You
also need that
setup to add libraries.


On Fri, Sep 15, 2017 at 7:02 AM, 桃源老師 <[email protected]> wrote:

> Hello Rocky-san,
>
> Thanks for reply...
>
> > 2017/09/15 午後6:35、Rocky Bernstein <[email protected]>のメール:
> >
> > For now probably the simplest thing to do is go into the file config.h
> that configure generates and change the line
> >
> > /* #undef HAVE_DARWIN_CDROM */
> >
> > to
> >
> > #define HAVE_DARWIN_CDROM 1
> >
> > And then run make again. If that works, let me know.
>
> If I configure with --disable-shared option, and edit config.h as you
> mentioned, make fails with the following:
>
>   CCLD     cd-drive
> Undefined symbols for architecture x86_64:
>   "_CFDataGetBytes", referenced from:
>       _read_toc_osx in libcdio.a(osx.o)
>   "_CFDataGetLength", referenced from:
>       _read_toc_osx in libcdio.a(osx.o)
>   "_CFDictionaryGetValue", referenced from:
>       _get_discmode_osx in libcdio.a(osx.o)
>       _get_drive_cap_osx in libcdio.a(osx.o)
>       _get_hwinfo_osx in libcdio.a(osx.o)
>       _read_toc_osx in libcdio.a(osx.o)
>   "_CFDictionarySetValue", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>   "_CFNumberGetValue", referenced from:
>       _get_drive_cap_osx in libcdio.a(osx.o)
>   "_CFRelease", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _get_discmode_osx in libcdio.a(osx.o)
>       _get_hwinfo_osx in libcdio.a(osx.o)
>       _read_toc_osx in libcdio.a(osx.o)
>   "_CFStringGetCString", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _get_discmode_osx in libcdio.a(osx.o)
>       _get_hwinfo_osx in libcdio.a(osx.o)
>   "_IOBSDNameMatching", referenced from:
>       _cdio_open_osx in libcdio.a(osx.o)
>   "_IODestroyPlugInInterface", referenced from:
>       __free_osx in libcdio.a(osx.o)
>   "_IOIteratorNext", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _cdio_open_osx in libcdio.a(osx.o)
>       _ProbeStorageDevices in libcdio.a(osx.o)
>       _get_drive_service_osx in libcdio.a(osx.o)
>   "_IOMasterPort", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _ProbeStorageDevices in libcdio.a(osx.o)
>   "_IOObjectConformsTo", referenced from:
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _cdio_open_osx in libcdio.a(osx.o)
>   "_IOObjectRelease", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _cdio_open_osx in libcdio.a(osx.o)
>       __free_osx in libcdio.a(osx.o)
>       _get_drive_cap_osx in libcdio.a(osx.o)
>       _ProbeStorageDevices in libcdio.a(osx.o)
>       _get_drive_service_osx in libcdio.a(osx.o)
>       ...
>   "_IORegistryEntryCreateCFProperties", referenced from:
>       _get_discmode_osx in libcdio.a(osx.o)
>       _get_drive_cap_osx in libcdio.a(osx.o)
>       _get_hwinfo_osx in libcdio.a(osx.o)
>       _read_toc_osx in libcdio.a(osx.o)
>   "_IORegistryEntryCreateCFProperty", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>   "_IORegistryEntryGetParentIterator", referenced from:
>       _cdio_open_osx in libcdio.a(osx.o)
>   "_IORegistryEntryGetPath", referenced from:
>       _cdio_open_osx in libcdio.a(osx.o)
>       _get_drive_service_osx in libcdio.a(osx.o)
>   "_IOServiceGetMatchingServices", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _cdio_open_osx in libcdio.a(osx.o)
>       _ProbeStorageDevices in libcdio.a(osx.o)
>       _get_drive_service_osx in libcdio.a(osx.o)
>   "_IOServiceMatching", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _ProbeStorageDevices in libcdio.a(osx.o)
>       _get_drive_service_osx in libcdio.a(osx.o)
>   "_IOServiceRequestProbe", referenced from:
>       _ProbeStorageDevices in libcdio.a(osx.o)
>   "___CFConstantStringClassReference", referenced from:
>       CFString in libcdio.a(osx.o)
>       CFString in libcdio.a(osx.o)
>       CFString in libcdio.a(osx.o)
>       CFString in libcdio.a(osx.o)
>       CFString in libcdio.a(osx.o)
>       CFString in libcdio.a(osx.o)
>       CFString in libcdio.a(osx.o)
>       ...
>   "_check", referenced from:
>       _get_drive_service_osx in libcdio.a(osx.o)
>   "_kCFAllocatorDefault", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _get_discmode_osx in libcdio.a(osx.o)
>       _get_drive_cap_osx in libcdio.a(osx.o)
>       _get_hwinfo_osx in libcdio.a(osx.o)
>       _read_toc_osx in libcdio.a(osx.o)
>   "_kCFBooleanTrue", referenced from:
>       _cdio_get_devices_osx in libcdio.a(osx.o)
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>   "_kIOMasterPortDefault", referenced from:
>       _cdio_get_default_device_osx in libcdio.a(osx.o)
>       _cdio_open_osx in libcdio.a(osx.o)
>       _get_drive_service_osx in libcdio.a(osx.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> make[2]: *** [cd-drive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> If I configure with out --disable-shared option, and edit config.h as you
> mentioned, make success but make check all fails.
>
> ../../test-driver: line 107: 95031 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: abs_path
> ../../test-driver: line 107: 95050 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: bincue
> ../../test-driver: line 107: 95069 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: cdda
> ../../test-driver: line 107: 95088 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: cdrdao
> ../../test-driver: line 107: 95107 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: freebsd
> ../../test-driver: line 107: 95126 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: gnu_linux
> ../../test-driver: line 107: 95145 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: logger
> ../../test-driver: line 107: 95164 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: mmc_read
> ../../test-driver: line 107: 95183 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: mmc_write
> ../../test-driver: line 107: 95202 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: nrg
> ../../test-driver: line 107: 95221 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: osx
> ../../test-driver: line 107: 95240 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: realpath
> ../../test-driver: line 107: 95259 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: solaris
> ../../test-driver: line 107: 95278 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: track
> ../../test-driver: line 107: 95297 Abort trap: 6           "$@" >
> $log_file 2>&1
> FAIL: win32
> ============================================================
> ================
> Testsuite summary for libcdio 0.94
> ============================================================
> ================
> # TOTAL: 15
> # PASS:  0
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  15
> # XPASS: 0
> # ERROR: 0
> ============================================================
> ================
> See test/driver/test-suite.log
> Please report to https://savannah.gnu.org/bugs/?group=libcdio
> ============================================================
> ================
>
> > Although it is true that generally libcdio only adds drivers that have
> been known to check out, when I look at the shell code that is supposed to
> allow or disallow macos, the relevant code in configure is:
> >
> > case $host_os in
> >      aix*)
> >        ## Don't use AIX driver until starts to really work
> >        ## cd_drivers="${cd_drivers}, AIX"
> >        ## AC_DEFINE([HAVE_AIX_CDROM], [1],
> >        ##     [Define 1 if you have AIX CD-ROM support])
> >        ;;
> >      darwin[6-9].*|darwin[1-9][0-9].*)
> >        for ac_header in IOKit/IOKitLib.h CoreFoundation/CFBase.h
> >
> > And it looks to me that this should match "darwin17.0.0" but apparently
> it doesn't .
>
> Nop, The relevant code in configure is bellow:
> So I thought that your configure support upto darwin 16.x.
>
> case $host_os in
>      aix*)
>        ## Don't use AIX driver until starts to really work
>        ## cd_drivers="${cd_drivers}, AIX"
>        ## AC_DEFINE([HAVE_AIX_CDROM], [1],
>        ##     [Define 1 if you have AIX CD-ROM support])
>        ;;
>      darwin[6-9].*|darwin1[0-6].*)
>        for ac_header in IOKit/IOKitLib.h CoreFoundation/CFBase.h
>
> > Here is the code I tried:
> >
> > set -xv
> > host_os=darwin17.0.0
> > case $host_os in
> >      aix*)
> >        ## Don't use AIX driver until starts to really work
> >        ## cd_drivers="${cd_drivers}, AIX"
> >        ## AC_DEFINE([HAVE_AIX_CDROM], [1],
> >        ##     [Define 1 if you have AIX CD-ROM support])
> >        ;;
> >      darwin[6-9].*|darwin[1-9][0-9].*)
> >        echo "good"
> >        ;;
> >      *)
> >        echo "Nope"
> > esac
> > set +xv
> >
> > If you were to run this code, do you get "good". If is host_os set to
> darwin17.0.0 ?
>
> I copied and pasted this code block to a file named test.sh and get the
> result as follows:
>
> $ sh test.sh
> host_os=darwin17.0.0
> + host_os=darwin17.0.0
> case $host_os in
>      aix*)
>        ## Don't use AIX driver until starts to really work
>        ## cd_drivers="${cd_drivers}, AIX"
>        ## AC_DEFINE([HAVE_AIX_CDROM], [1],
>        ##     [Define 1 if you have AIX CD-ROM support])
>        ;;
>      darwin[6-9].*|darwin[1-9][0-9].*)
>          echo "good"
>          ;;
>      *)
>          echo "Nope"
> esac
> + case $host_os in
> + echo good
> good
> set +xv
> + set +xv
>
> Tried to paste configure script, it output same and stopped with syntax
> error....
>
> Hope that my reply would be a part of help to solve the problem...
>
>
> Best Regards,
>
>
> // Miya aka. TougenRoushi
>
>
> _______________________________________________
> Libcdio-help mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/libcdio-help
>
>
_______________________________________________
Libcdio-help mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/libcdio-help

Reply via email to