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 735866 - OS X build fails due to gi - incorrect gir search path
OS X build fails due to gi - incorrect gir search path
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: cerbero
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 738622
 
 
Reported: 2014-09-02 07:00 UTC by Jan Schmidt
Modified: 2018-11-03 10:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jan Schmidt 2014-09-02 07:00:21 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
Comment 1 Lubosz Sarnecki 2014-10-16 10:40:13 UTC
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?
Comment 2 Thibault Saunier 2014-10-17 15:40:44 UTC
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.
Comment 3 Andoni Morales 2014-10-17 23:12:14 UTC
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, ...)
Comment 4 Andoni Morales 2014-10-17 23:30:08 UTC
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
Comment 5 GStreamer system administrator 2018-11-03 10:17:40 UTC
-- 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.