GNOME Bugzilla – Bug 735866
OS X build fails due to gi - incorrect gir search path
Last modified: 2018-11-03 10:17:40 UTC
GObject introspection causes a failure in both the OS X vanilla build, and in a Universal build when building GStreamer core. Packages up to that point succeed, but in GStreamer core, g-ir-scanner fails, because it is looking in a search path of $CERBERO/dist/darwin_x86_64/share/gir-1.0 instead of $CERBERO/dist/darwin_x86_64/share/gir-1.0/x86_64
Has anyone built / used gobject introspection sucessfully yet on OS X? I also struggled to get it running on Windows. But MSYS2 did great work to make that happen. Is there maybe gir stuff in brew or ports to get inspiration for our build?
I think GI does run properly on mac os X. This issue is more related to cerbero itself than a general problem with GObject Introspection fwiu. I cc. here andoni who has worked on getting gobject-introspection built for mac os X.
gobject-introspection should work fine for a single architecture, but with universal builds the typelibs are different for each architecture and gi hardcodes the gir repository directory path to ${libdir}/girepository-1.0/ I am working on a solution to properly support custom paths in gi, where the typelibs are installed in lib/girepository-1.0/$ARCH. This way universal builds can ship typelibs for all the supported architectures and each architure will find the correct typelibs in its directory. I have openned a bug with a proposed path upstream, but no one seems to care: https://bugzilla.gnome.org/show_bug.cgi?id=723862 My work is in the following branch: https://github.com/ylatuya/cerbero/tree/gi Each project using gi should now replace their makefiles with the following code: -girdir = $(datadir)/gir-1.0 +girdir = $(datadir)/$(INTROSPECTION_GIRSUFFIX) gir_DATA = $(INTROSPECTION_GIRS) -typelibsdir = $(libdir)/girepository-1.0 +typelibsdir = $(libdir)/$(INTROSPECTION_TYPELIBSUFFIX) typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) I have started doing it for several projects, but other are missing. Maybe some one can follow-up and finish the remaing ones (gstreamer, gst-plugins-base, gst-plugins-bad, gnonlin, ges, ...)
This patch should fix non-universal builds until the other branch is ready commit 47eb684e505aa346d4a02271b0a2d7edeccadaeb Author: Andoni Morales Alastruey <ylatuya@gmail.com> Date: Sat Oct 18 01:25:59 2014 +0200 gi: remove non working support for universal builds Remove it so that we can at least build gi for non-universal builds see: https://bugzilla.gnome.org/show_bug.cgi?id=735866
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/cerbero/issues/4.