Restore macOS GLU detection and test runtime loading - #83
Merged
Merged
Conversation
tritao
force-pushed
the
fix/restore-macos-glu-header-detection
branch
from
September 2, 2026 19:40
4aad247 to
984d97a
Compare
tritao
force-pushed
the
fix/restore-macos-glu-header-detection
branch
from
September 2, 2026 20:19
984d97a to
8bce042
Compare
Collaborator
Author
|
Tested by @maxwxyz |
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.
This fixes a regression in the latest FreeCAD macOS weekly build, identified and debugged by @maxwxyz.
The Coin update included by FreeCAD commit
521f19d16dincorporated Coin commit5e40f18505e8, which accidentally removed the macOS GLU header check:Clean macOS configurations therefore left
HAVE_OPENGL_GLU_Hundefined.With
GLU_RUNTIME_LINKINGandGLU_IS_PART_OF_GLenabled, this preventedGLUWrapperfrom opening the current process image and resolving GLU symbols from Apple’s OpenGL framework. Optimized Release builds reduced this path toavailable = 0, disabling GLU-dependent functionality without producing a build or linker error.This ended up causing issues in the font loading backends, which need GLU for font rasterization.
Existing CI did not catch the regression because Coin still compiled successfully and no test verified that the GLU runtime loader was actually usable.
Solution
Restore the
OpenGL/glu.hprobe for native macOS builds:Add a headless runtime test that verifies configurations where GLU is part of the linked OpenGL framework can:
GLUWrapper;The private-wrapper test runs on macOS and Linux. It is excluded on Windows because
GLUWrapperis intentionally not exported from the Coin DLL.