After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 777218 - Avoid circular dependency between freetype and harfbuzz
Avoid circular dependency between freetype and harfbuzz
Product: GStreamer
Classification: Platform
Component: cerbero
git master
Other All
: Normal normal
: 1.11.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2017-01-13 14:16 UTC by Heinrich Fink
Modified: 2017-01-13 20:22 UTC
See Also:
GNOME target: ---
GNOME version: ---

disable freetype's harfbuzz dependency during config (1.29 KB, patch)
2017-01-13 14:16 UTC, Heinrich Fink
committed Details | Review

Description Heinrich Fink 2017-01-13 14:16:23 UTC
Created attachment 343433 [details] [review]
disable freetype's harfbuzz dependency during config

When rebuilding freetype with harfbuzz already being compiled, freetype's configuration phase would pick up and link against harfbuzz. However, harfbuzz itself is already linked against freetype (that's a known circular dependency). Oddly, this further results in the rebuild of freetype having a linker dependency on itself, causing all sorts of troubles (especially on OSX using relative linker paths, where I found that plugins would suddenly fail to load). Since freetype's recipe doesn't mention harfbuzz as a cerbero dependency anyway, and since a clean rebuild of everything would not have harfbuzz available at the time freetype is built, I think we should explicitly disable the harfbuzz dependency. I have attached a patch for that.
Comment 1 Sebastian Dröge (slomo) 2017-01-13 20:21:45 UTC
commit 33803a84e0093d931417fe08e09f79871e39952d
Author: Heinrich Fink <>
Date:   Fri Jan 13 15:09:25 2017 +0100

    freetype: Disable harfbuzz dependency during config
    This avoids a potential circular dependency between freetype and harfbuzz:
    In case freetype is rebuilt with cerbero when harfbuzz has already been
    compiled, freetype's config phase would pick up the previously built
    harfbuzz lib. Because harfbuzz itself depends on freetype, this results
    in a circular dependency causing several problems (e.g. freetype being
    linked against freetype, etc.).