libcdio-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libcdio-help] Fwd: Does libcdio can work with macOS (Mac OS X)?


From: Rocky Bernstein
Subject: [Libcdio-help] Fwd: Does libcdio can work with macOS (Mac OS X)?
Date: Sat, 16 Sep 2017 07:26:13 -0400


---------- Forwarded message ----------
From: Rocky Bernstein <address@hidden>
Date: Sat, Sep 16, 2017 at 7:25 AM
Subject: Re: [Libcdio-help] Does libcdio can work with macOS (Mac OS X)?
To: 桃源老師 <address@hidden>


Do the libcdio tests succeed? Or are you still getting a testdevices error like you did before?

As for the linker error, that is easily explained because "-Wl,-framework,DiskArbitration"  is missing in the ffmpeg link command. 

When you see the configure message "checking for DiskArbitration framework... yes" those linker options are added. 

So how does ffmpeg determine what linker options to provide? 

To be clear, I don't expect the last release of libcdio to work on High Sierra. Only the git version will work. 

Yes, the the failure in creating the manual cd-drive.1 can be ignored. 

The git for libcdio-paranoia is on github: https://github.com/rocky/libcdio-paranoia  but in contrast to libcdio, what is in git pretty much matches (if not exactly) the last release. 

To build documentation, one needs to run configure with 
the switch --enable-maintainer-mode. This is done for when you run the autogen.sh script which is what you are told to do in "README.develop". I will be more explicit in the documentation about that. However when you build the documentation you need to make sure you move more packages installed like texinfo and help2man. That is also mentioned in README.develop



On Sat, Sep 16, 2017 at 1:48 AM, 桃源老師 <address@hidden> wrote:
Hello ROcky-san,

> 2017/09/16 午前11:18、Rocky Bernstein <address@hidden>のメール:
>
> In short, I just pushed git commit 09eb9ab and that may fix the problem you have.

$ cd libcdio
$ git pull
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 6), reused 0 (delta 0)
Unpacking objects: 100% (7/7), done.
>From https://git.savannah.gnu.org/git/libcdio
   3c0634b5..09eb9abc  master     -> origin/master
Updating 3c0634b5..09eb9abc
Fast-forward
 lib/driver/osx.c     | 572 +++++++++++++++++++++++++--------------------------
 test/check_cdtext.sh |  10 +-
 2 files changed, 291 insertions(+), 291 deletions(-)

Really?

$ ./configure --prefix=${TARGET} --disable-cxx --disable-example-progs --disable-shared

checking IOKit/IOKitLib.h usability... yes
checking IOKit/IOKitLib.h presence... yes
checking for IOKit/IOKitLib.h... yes
checking CoreFoundation/CFBase.h usability... yes
checking CoreFoundation/CFBase.h presence... yes
checking for CoreFoundation/CFBase.h... yes
checking for DiskArbitration framework... yes

configure:
Using CD-ROM drivers : cdrdao, BIN/CUE, NRG, Darwin
Building cd-info     : yes
Building cd-read     : yes
Building cdda-player : yes
Building iso-info    : yes
Building iso-read    : yes
Building C++ programs: no

$ make clean
$ make

Making all in src
  CC       cd-drive.o
  CC       util.o
  CC       getopt.o
  CC       getopt1.o
  CCLD     cd-drive
  CC       cd-info.o
  CC       cddb.o
  CCLD     cd-info
  CC       cd-read.o
  CCLD     cd-read
  CC       iso-info.o
  CCLD     iso-info
  CC       iso-read.o
  CCLD     iso-read
  CC       cdda-player.o
  CCLD     cdda-player
  CC       mmc-tool.o
  CCLD     mmc-tool
make[2]: *** No rule to make target `cd-drive.1', needed by `all-am'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I faced same problem which I described former mail.
I fixed by comment libcdio > src > Makefile Line 507

Before: man_MANS = $(man_cd_drive) $(man_cd_info) $(man_cd_read) $(man_iso_read) $(man_iso_info)
After: # man_MANS = $(man_cd_drive) $(man_cd_info) $(man_cd_read) $(man_iso_read) $(man_iso_info)

> If it doesn't then I need to see the output of configure when it tries to find OSX headers. On Sierra running ./configure I see:
>
> checking IOKit/IOKitLib.h usability... yes
> checking IOKit/IOKitLib.h presence... yes
> checking for IOKit/IOKitLib.h... yes
> checking CoreFoundation/CFBase.h usability... yes
> checking CoreFoundation/CFBase.h presence... yes
> checking for CoreFoundation/CFBase.h... yes
> checking for DiskArbitration framework... yes
>
> If that is not what you see in High Sierra then there may be something wrong.

I confirmed that those line can be found in High Sierra's configure line

> As for what's wrong
>
> In log, check() is a C preprocessor macro which  on Sierra I have it is defined in:
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/AssertMacros.h

$ mdfind -name "AssertMacros.h"
/usr/include/AssertMacros.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AssertMacros.h

As above, I can find out AssertMacros.h



I can now build libcdio git (May be without manual...).

And I build libcdio-paranoia-10.2+0.94+2 (Since I can't find out git version of this package),

Then I tried to use them with ffmpeg then I got the following error:

BEGIN /var/folders/wv/3_2g0k7n6p3ff9tbz6hqh67w0000gn/T//ffconf.hvAXqXig/test.c
    1   #include <cdio/paranoia/cdda.h>
    2   #include <cdio/paranoia/paranoia.h>
    3   #include <stdint.h>
    4   long check_cdio_cddap_open(void) { return (long) cdio_cddap_open; }
    5   int main(void) { int ret = 0;
    6    ret |= ((intptr_t)check_cdio_cddap_open) & 0xFFFF;
    7   return ret; }
END /var/folders/wv/3_2g0k7n6p3ff9tbz6hqh67w0000gn/T//ffconf.hvAXqXig/test.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I$(SRC_PATH)/compat/dispatch_semaphore -DPIC -I/Volumes/ffmpeg_compile/include -std=c11 -fomit-frame-pointer -fPIC -pthread -D_THREAD_SAFE -I/Volumes/ffmpeg_compile/include/SDL2 -c -o /var/folders/wv/3_2g0k7n6p3ff9tbz6hqh67w0000gn/T//ffconf.hvAXqXig/test.o /var/folders/wv/3_2g0k7n6p3ff9tbz6hqh67w0000gn/T//ffconf.hvAXqXig/test.c
gcc -Wl,-dynamic,-search_paths_first -o /var/folders/wv/3_2g0k7n6p3ff9tbz6hqh67w0000gn/T//ffconf.hvAXqXig/test /var/folders/wv/3_2g0k7n6p3ff9tbz6hqh67w0000gn/T//ffconf.hvAXqXig/test.o -lcdio_paranoia -lcdio_cdda -lcdio -Wl,-framework,CoreFoundation -Wl,-framework,Security -L/Volumes/ffmpeg_compile/lib -lSDL2 -lm -liconv -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,ForceFeedback -lobjc -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,IOKit -lm -lbz2 -lz -pthread -pthread -framework CoreServices -framework CoreGraphics -framework VideoToolbox -framework CoreImage -framework AVFoundation -framework AudioToolbox -framework AppKit
clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
Undefined symbols for architecture x86_64:
  "_DADiskCopyDescription", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
  "_DADiskCreateFromBSDName", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
  "_DADiskEject", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
      _media_unmount_callback in libcdio.a(osx.o)
  "_DADiskUnmount", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
  "_DADissenterGetStatusString", referenced from:
      _media_eject_callback in libcdio.a(osx.o)
  "_DASessionCreate", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
  "_DASessionScheduleWithRunLoop", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
  "_DASessionUnscheduleFromRunLoop", referenced from:
      __eject_media_osx in libcdio.a(osx.o)
  "_kDADiskDescriptionVolumePathKey", referenced from:
      __eject_media_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)
ERROR: No usable libcdio/cdparanoia found

This error is same as the one build library with macOS Sierra (Darwin 16.7) then try to use them with ffmpeg on High Sierra (Darwin 17.0)


OK, Let's start next step!!

Are there anything which I can co-operate with you?


Best Regards,


// Miya aka. TougenRoushi


_______________________________________________
Libcdio-help mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/libcdio-help




reply via email to

[Prev in Thread] Current Thread [Next in Thread]