Opened 11 years ago

Closed 11 years ago

#40874 closed defect (fixed)

dvdrtools fails because of missing -lIOKit on Mavericks

Reported by: tknox@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.0
Keywords: mavericks Cc: @…
Port: dvdrtools

Description

Trying to install dvdrtools on Mavericks fails because macports can't find IOKit:

--->  Fetching distfiles for dvdrtools
--->  Verifying checksums for dvdrtools
--->  Checksumming dvdrtools-0.2.1.tar.gz
--->  Extracting dvdrtools
--->  Extracting dvdrtools-0.2.1.tar.gz
--->  Applying patches to dvdrtools
--->  Applying patch-scsi-mac-iokit.c
patching file libscg/scsi-mac-iokit.c
--->  Applying patch-cdda2wav-cdda2wav.c
patching file cdda2wav/cdda2wav.c
--->  Applying patch-cdrecord-cdrecord.c
patching file cdrecord/cdrecord.c
--->  Configuring dvdrtools
checking build system type... i686-apple-darwin13.0.0
checking host system type... i686-apple-darwin13.0.0
checking target system type... i686-apple-darwin13.0.0
checking for a BSD-compatible install... /usr/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 for gcc... /usr/bin/clang
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/work/dvdrtools-0.2.1" && ./configure --prefix=/opt/local --mandir=/opt/local/share/man
Exit code: 77
Error: Failed to configure dvdrtools, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/work/dvdrtools-0.2.1/config.log
Error: org.macports.configure for port dvdrtools returned: configure failure: command execution failed
Warning: targets not executed for dvdrtools: org.macports.destroot org.macports.configure org.macports.build
Please see the log file for port dvdrtools for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/main.log
Error: Unable to upgrade port: 1

Thomass-iMac:~ tdknox$ cat /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/main.log
version:1
(stuff)
:info:configure checking for C compiler default output file name... configure: error: C compiler cannot create executables
:info:configure See `config.log' for more details.
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/work/dvdrtools-0.2.1" && ./configure --prefix=/opt/local --mandir=/opt/local/share/man
:info:configure Exit code: 77
:error:configure Failed to configure dvdrtools, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/work/dvdrtools-0.2.1/config.log
:error:configure org.macports.configure for port dvdrtools returned: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
    while executing
"$procedure $targetname"
:info:configure Warning: targets not executed for dvdrtools: org.macports.destroot org.macports.configure org.macports.build
:notice:configure Please see the log file for port dvdrtools for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/main.log

Thomass-iMac:~ tdknox$ cat /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_dvdrtools/dvdrtools/work/dvdrtools-0.2.1/config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
(stuff)
configure:2195: checking for C compiler default output file name
configure:2198: /usr/bin/clang -pipe -Os -arch x86_64 -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 conftest.c -lIOKit -framework CoreFoundation >&5
ld: library not found for -lIOKit
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Thomass-iMac:~ tdknox$ locate IOKit | grep lib
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Resources/BridgeSupport/IOKit.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/libIOKit.A.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/libIOKit.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/lib/libTelephonyIOKitDynamic.dylib
/System/Library/Frameworks/IOKit.framework/Versions/A/Resources/BridgeSupport/IOKit.dylib

Change History (4)

comment:1 Changed 11 years ago by tknox@…

Cc: tknox@… added

Cc Me!

comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: @… added; tknox@… removed
Keywords: iokit removed

dvdrtools is ancient; I'm not surprised it doesn't compile anymore.

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

However in this case the problem is not in the dvdrtools source code but in customizations we've made in the Portfile. We're trying to link with "-lIOKit", but there is no /usr/lib/libIOKit.dylib on Mavericks. There is on Mountain Lion and earlier, but it's just a symlink to /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit. So we can fix the problem by linking with "-framework IOKit" instead. I verified this fixes the build on Mavericks, and still builds on Leopard.

comment:4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.