Opened 4 weeks ago

Last modified 4 weeks ago

#63514 new defect

android @23: Could not open /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit: Error opening or reading file

Reported by: dcguim (Dan Guim) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: bigsur arm64 Cc:
Port: android

Description (last modified by dcguim (Dan Guim))

$ sudo port install android
...
--->  Installing android @23_0
--->  Activating android @23_0
--->  Cleaning android
--->  Scanning binaries for linking errors
--->  Found 7 broken files, matching files to ports
Error: Port android is still broken after rebuilding it more than 3 times.
Error: Please run port -d -y rev-upgrade and use the output to report a bug.
Error: rev-upgrade failed: Port android still broken after rebuilding 3 times
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
$ sudo port -d -y rev-upgrade
--->  Scanning binaries for linking errors
Could not open /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit: Error opening or reading file (referenced from /opt/local/share/java/android-sdk-macosx/tools/emulator)
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator as broken
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator-arm as broken
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator-mips as broken
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator-x86 as broken
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator64-arm as broken
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator64-mips as broken
DEBUG: Marking /opt/local/share/java/android-sdk-macosx/tools/emulator64-x86 as broken
--->  Found 7 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
DEBUG: Broken: android
DEBUG: Processing port android @0:23_0
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: android @23
Continue? [Y/n]: y
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: android 23_0 exists in the ports tree
DEBUG: android 23_0  is the latest installed
DEBUG: android 23_0  is active
DEBUG: Merging existing requested variants '' into variants
DEBUG: new fully merged portvariants: 
DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/java/android
DEBUG: OS darwin/20.3.0 (macOS 11.2.2) arch arm
DEBUG: universal_variant is false, so not adding the default universal variant
DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Running callback portstartupitem::add_notes
DEBUG: Finished running callback portstartupitem::add_notes
DEBUG: rev-upgrade override ... upgrading!
Skipping deactivate android @23_0 (dry run)
Skipping activate android @23_0 (dry run)
DEBUG: Rebuilding port android finished with status 0
Warning: If this was no dry run, rev-upgrade would now run the checks again to find unresolved and newly created problems

Change History (4)

comment:1 Changed 4 weeks ago by dcguim (Dan Guim)

Description: modified (diff)

comment:2 Changed 4 weeks ago by dcguim (Dan Guim)

Keywords: ARM M1 Mac added

comment:3 Changed 4 weeks ago by ryandesign (Ryan Schmidt)

Keywords: bigsur arm64 added; ARM M1 Mac removed
Port: android added; Android SDK removed
Summary: Port android is still broken after rebuilding it more than 3 times.android @23: Could not open /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit: Error opening or reading file

The problem seems to be that /opt/local/share/java/android-sdk-macosx/tools/emulator (and perhaps also the six other files reported as broken) link with /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit but that library can't be found.

I have read that Apple dropped support for QTKit as of macOS 10.15 Catalina and did not include an Apple Silicon version of it on macOS 11 Big Sur, so unfortunately you cannot use this or any other software that requires QTKit on an Apple Silicon Mac. Presumably a workaround would be to use the Intel version under Rosetta 2 emulation. If that is the only solution, we can mark the port as not supporting arm64; MacPorts will then know that it should use the x86_64 version on an Apple Silicon Mac. But maybe it would be a better idea to first investigate whether the android port could be updated to a new version of the software—one which may have already removed the dependency on QTKit.

comment:4 Changed 4 weeks ago by dcguim (Dan Guim)

I have read something similar regarding support for QTKit in wikipedia https://en.wikipedia.org/wiki/QuickTime

"As of Mac OS X Lion, the underlying media framework for QuickTime, QTKit, was deprecated in favor of a newer graphics framework, AVFoundation, and completely discontinued as of macOS Catalina."

The android SKD port has yet to provide support for AVFoundation:

https://web.archive.org/web/20160802120232/https://developer.apple.com/library/mac/technotes/tn2300/_index.html

Meanwhile, as you mentioned, it would be nice if some port variant for x86_64 architecture was provided. It shouldn't be so complicated, it seems that the processor architecture is being identified and the port for ARM architecture selected, should be a quick way around this. Nevertheless, I am not yet convinced this will solve the issue, as QTKit is not supported since Catalina regardless of the processor architecture.

$ port variants android
android has no variants
Last edited 4 weeks ago by dcguim (Dan Guim) (previous) (diff)
Note: See TracTickets for help on using tickets.