Remove dead "-framework AGL" link directive (macOS 10.14+ and all Apple Silicon)#169
Open
geekrebel wants to merge 1 commit intoOpenShot:developfrom
Open
Remove dead "-framework AGL" link directive (macOS 10.14+ and all Apple Silicon)#169geekrebel wants to merge 1 commit intoOpenShot:developfrom
geekrebel wants to merge 1 commit intoOpenShot:developfrom
Conversation
CMakeLists.txt. AGL (Apple Graphics Library) was deprecated years ago and
has been absent from the macOS SDK since macOS 10.14 Mojave (2018), so any
attempt to build libopenshot-audio against a modern SDK fails at the link
stage with:
ld: framework 'AGL' not found
This affects every contributor on macOS 10.15 or newer, including every
Apple Silicon machine. AGL is not actually used by libopenshot-audio at
runtime: it was inherited from an old JUCE integration example and the
OpenGL context on modern macOS is acquired through Cocoa
(NSOpenGLContext) rather than AGL, so removing the link directive has no
behavioural effect beyond letting the library link successfully.
Verified by building the library and the openshot-audio-demo target on
Apple Silicon (arm64, AppleClang 17.0.0, CMake 4.0.3, macOS 15).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
APPLEbranch ofCMakeLists.txtlinks theAGLframework:AGL(Apple Graphics Library) was deprecated long ago and has beenabsent from the macOS SDK since macOS 10.14 Mojave (2018), so on any
reasonably modern Xcode or Command Line Tools the link step fails with:
That includes every Apple Silicon machine, since Apple Silicon only supports
macOS 11+, so the project cannot currently be built from source on any
M1/M2/M3 Mac without patching this file.
AGLis not actually used bylibopenshot-audioat runtime: it appears tohave been inherited from an old JUCE integration example, and modern macOS
acquires its OpenGL context through Cocoa (
NSOpenGLContext) rather thanAGL. Removing the link directive has no behavioural effect beyond lettingthe library link successfully.
Verification
Verified on an Apple Silicon (arm64) Mac:
cmake -B build -S . && cmake --build build -jopenshot-audio.dylibandopenshot-audio-demoboth build and link successfully. Without thepatch, link fails at
openshot-audio.dylibwith the error above.Scope
Intentionally minimal: one line removed, no behavioural changes, no other
framework list edits. Happy to follow up with a small macOS build section
in
INSTALL.mdin a separate PR if useful, since the current instructionsare headed "Linux Build Instructions" and don't document the macOS path.
Context
This is my first PR to libopenshot-audio. It is part of a small series of
Apple Silicon contributor fixes: openshot-qt#6003,
#6004,
#6005, and
#6006 cover the
packaging-side changes needed before an arm64 DMG can be produced; this PR
is the first of the corresponding libopenshot-side fixes and also resolves
the root cause of libopenshot#1030,
whose reporter hit the follow-on "cannot find OpenShotAudio" CMake error
because libopenshot-audio cannot be built on their machine in the first place.