Repository navigation
snap/dcimgui: use system libraries rather than building static vendored libs - #14682
Merged
Merged
Conversation
With freetype from the system, the static dcimgui library was given -lfreetype directly. Zig 0.16 then puts libfreetype.so into libdcimgui.a, and the final link of ghostty fails on that archive member, so any build with -fsys=freetype or --system failed from a clean cache. The static library now gets only freetype's include paths from pkg-config, and the shared library is linked through the dcimgui module and its test instead.
The snap built without --system, so it statically linked the vendored copies of these libraries while GTK loaded Ubuntu's into the same process. Build against the system libraries instead; GTK already brings their runtime packages into the snap.
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.
snaps have been building the vendored freetype/fontconfig libraries and linking them statically. As seen in non-snap builds, this is problematic because GTK links to the system shared libraries. Having two copies running at the same time causes crashes as the libraries fight each other in memory that they share.
Also fixes a related problem that
dcimguiwould getlibfreetype.socopied into it's static library when built against the system shared libraries.Related to: #14392
AI disclosure: Claude Code was used in the preparation of this PR.