Opened 2 years ago

Last modified 2 years ago

#64804 assigned defect

mpv @0.34.1: port rev-upgrade loop on MacOS 10.15 Catalina

Reported by: johnrosshunt Owned by: Ionic (Mihai Moldovan)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Catalina Cc: i0ntempest, ryandesign (Ryan Carsten Schmidt)
Port: mpv

Description

I don't have a build log because mpv builds successfully. But, afterword it gets caught in a rev-upgrade loop on Catalina due to missing swift dylibs.

--->  Cleaning mpv
--->  Removing work directory for mpv
--->  Scanning binaries for linking errors
Could not open /usr/lib/swift/libswiftUniformTypeIdentifiers.dylib: Error opening or reading file (referenced from /Applications/MacPorts/mpv.app/Contents/MacOS/mpv)
--->  Found 3 broken files, matching files to ports      
--->  Found 1 broken port, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: mpv @0.34.1+audiocd+bluray+bundle+caca+dvd+libarchive+libmpv+network+opengl+osd+python39+rubberband+screenshot+uchardet
Continue? [Y/n]: 

otool -L shows weak references to all the swift libraries

/opt/local/bin/mpv:
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1770.255.0)
	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0)
	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1000.0.0)
	/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2022.20.117)
	/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
	/opt/local/lib/lua-5.2/liblua-5.2.dylib (compatibility version 5.2.0, current version 5.2.4)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)
	/opt/local/lib/libcaca.0.dylib (compatibility version 100.0.0, current version 100.20.0)
	/opt/local/lib/libcdio_paranoia.2.dylib (compatibility version 3.0.0, current version 3.0.0)
	/opt/local/lib/libcdio_cdda.2.dylib (compatibility version 3.0.0, current version 3.0.0)
	/opt/local/lib/libcdio.19.dylib (compatibility version 20.0.0, current version 20.0.0)
	/opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0)
	/opt/local/lib/libdvdnav.4.dylib (compatibility version 8.0.0, current version 8.0.0)
	/opt/local/lib/libdvdread.8.dylib (compatibility version 9.0.0, current version 9.0.0)
	/opt/local/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.70.100)
	/opt/local/lib/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.134.100)
	/opt/local/lib/libavformat.58.dylib (compatibility version 58.0.0, current version 58.76.100)
	/opt/local/lib/libswscale.5.dylib (compatibility version 5.0.0, current version 5.9.100)
	/opt/local/lib/libavfilter.7.dylib (compatibility version 7.0.0, current version 7.110.100)
	/opt/local/lib/libswresample.3.dylib (compatibility version 3.0.0, current version 3.9.100)
	/opt/local/lib/libjpeg.8.dylib (compatibility version 8.0.0, current version 8.2.2)
	/opt/local/lib/liblcms2.2.dylib (compatibility version 3.0.0, current version 3.13.0)
	/opt/local/lib/libarchive.13.dylib (compatibility version 20.0.0, current version 20.0.0)
	/opt/local/lib/libass.9.dylib (compatibility version 11.0.0, current version 11.3.0)
	/opt/local/lib/libavdevice.58.dylib (compatibility version 58.0.0, current version 58.13.100)
	/opt/local/lib/libbluray.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/local/lib/librubberband.2.dylib (compatibility version 2.0.0, current version 2.0.0)
	/opt/local/lib/libsamplerate.0.dylib (compatibility version 2.0.0, current version 2.8.0)
	/opt/local/lib/libuchardet.0.dylib (compatibility version 0.0.0, current version 0.0.7)
	/opt/local/lib/libzimg.2.dylib (compatibility version 3.0.0, current version 3.0.0)
	/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1770.255.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1463.2.1)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1122.11.0)
	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
	/System/Library/Frameworks/MediaPlayer.framework/Versions/A/MediaPlayer (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/swift/libswiftAVFoundation.dylib (compatibility version 1.0.0, current version 2000.5.4, weak)
	/usr/lib/swift/libswiftAppKit.dylib (compatibility version 1.0.0, current version 103.10.0)
	/usr/lib/swift/libswiftCloudKit.dylib (compatibility version 1.0.0, current version 962.0.0, weak)
	/usr/lib/swift/libswiftCore.dylib (compatibility version 1.0.0, current version 1200.2.41)
	/usr/lib/swift/libswiftCoreAudio.dylib (compatibility version 1.0.0, current version 1.1.0, weak)
	/usr/lib/swift/libswiftCoreData.dylib (compatibility version 1.0.0, current version 3.0.0, weak)
	/usr/lib/swift/libswiftCoreFoundation.dylib (compatibility version 1.0.0, current version 1.6.0, weak)
	/usr/lib/swift/libswiftCoreGraphics.dylib (compatibility version 1.0.0, current version 2.0.0)
	/usr/lib/swift/libswiftCoreImage.dylib (compatibility version 1.0.0, current version 1.0.0, weak)
	/usr/lib/swift/libswiftCoreLocation.dylib (compatibility version 1.0.0, current version 5.0.0, weak)
	/usr/lib/swift/libswiftCoreMIDI.dylib (compatibility version 1.0.0, current version 2.0.0, weak)
	/usr/lib/swift/libswiftCoreMedia.dylib (compatibility version 1.0.0, current version 1.0.0, weak)
	/usr/lib/swift/libswiftDarwin.dylib (compatibility version 1.0.0, current version 0.0.0, weak)
	/usr/lib/swift/libswiftDispatch.dylib (compatibility version 1.0.0, current version 4.40.2)
	/usr/lib/swift/libswiftFoundation.dylib (compatibility version 1.0.0, current version 20.0.0)
	/usr/lib/swift/libswiftIOKit.dylib (compatibility version 1.0.0, current version 1.0.0, weak)
	/usr/lib/swift/libswiftMetal.dylib (compatibility version 1.0.0, current version 1.3.1, weak)
	/usr/lib/swift/libswiftObjectiveC.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/swift/libswiftQuartzCore.dylib (compatibility version 1.0.0, current version 1.0.0, weak)
	/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib (compatibility version 1.0.0, current version 633.0.2, weak)
	/usr/lib/swift/libswiftXPC.dylib (compatibility version 1.0.0, current version 1.1.0, weak)
	/usr/lib/swift/libswiftsimd.dylib (compatibility version 1.0.0, current version 1.3.0, weak)

This upstream bug report is exactly what's happening to me: https://github.com/mpv-player/mpv/issues/8295.

The developers seem to think mpv is being built against the wrong SDK.

The mpv build on Catalina builds against Xcode SDK 11.1 instead of the command line tools SDK 10.15.

Change History (2)

comment:1 Changed 2 years ago by jmroot (Joshua Root)

Cc: i0ntempest added; ionic@… i0ntempest@… removed
Owner: set to Ionic
Status: newassigned

Looks related to #64777?

comment:2 Changed 2 years ago by i0ntempest

Cc: ryandesign added

No I don't think this is related to #64777. This one can be fixed by building using 10.15 SDK, i.e. downgrade your Xcode. The last change allowed mpv to be built on more OS versions, but brought this thing back if you have mismatching SDK and OS version.
@ryandesign, thoughts on this?

Last edited 2 years ago by i0ntempest (previous) (diff)
Note: See TracTickets for help on using tickets.