gobject-introspection / pygobject: Don't use the uninstalled GStreamer version but pull in system version
godot:gst-build jdm$ ninja -C build
ninja: Entering directory `build'
[0/2] Generating GES-1.0.gir with a custom command
This step never completes in my macOS gst-build setup. The process manager shows this command is running and taking no CPU time:
/Users/jdm/src/gst-build/build/tmp-introspectffiecw2t/GES-1.0 --introspect-dump=/Users/jdm/src/gst-build/build/tmp-introspectffiecw2t/functions.txt,/Users/jdm/src/gst-build/build/tmp-introspectffiecw2t/dump.xml
When I run the same g-ir-scanner command that spawned it, I see this output:
gesotioformatter.py:19: Warning: cannot register existing type 'GstObject'
gesotioformatter.py:19: Warning: g_once_init_leave: assertion 'result != 0' failed
gesotioformatter.py:19: Warning: g_type_register_static: assertion 'parent_type > 0' failed
gesotioformatter.py:19: Warning: cannot add private field to invalid (non-instantiatable) type '<invalid>'
gesotioformatter.py:19: Warning: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_object_ref_sink: assertion 'object != NULL' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_object_ref: assertion 'object != NULL' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_allocator_register: assertion 'allocator != NULL' failed
(<unknown>:28018): GStreamer-CRITICAL **: 13:05:48.805: gst_object_ref: assertion 'object != NULL' failed
gesotioformatter.py:19: Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
gesotioformatter.py:19: Warning: cannot register existing type 'GstFormat'
gesotioformatter.py:19: Warning: cannot retrieve class for invalid (unclassed) type '<invalid>'
And the command never completes, which explains why the build is hanging. The full command is the following:
/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/Resources/Python.app/Contents/MacOS/Python /usr/local/Cellar/gobject-introspection/1.64.1_2/bin/g-ir-scanner --no-libtool --namespace=GES --nsversion=1.0 --warn-all --output subprojects/gst-editing-services/ges/GES-1.0.gir --add-init-section='extern void gst_init(gint*,gchar**);extern void ges_init(void);g_setenv("GST_REGISTRY_1.0", "/no/way/this/exists.reg", TRUE);g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);g_setenv("GST_DEBUG", "0", TRUE);gst_init(NULL,NULL);ges_init();' --quiet --c-include=ges/ges.h --cflags-begin -I/Users/jdm/src/gst-build/subprojects/gst-editing-services/ges/.. -I/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges/.. --cflags-end -I/Users/jdm/src/gst-build/subprojects/gst-editing-services/ges -I/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges -I./subprojects/gst-editing-services/. -I../subprojects/gst-editing-services/. -I./subprojects/gstreamer/. -I../subprojects/gstreamer/. -I./subprojects/gstreamer/. -I../subprojects/gstreamer/. -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/orc/. -I../subprojects/orc/. -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs -I./subprojects/gst-devtools/validate/. -I../subprojects/gst-devtools/validate/. -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs --filelist=/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges/libges-1.0.0.dylib.p/GES_1.0_gir_filelist --include=Gst-1.0 --include=GstPbutils-1.0 --include=GstVideo-1.0 --include=Gio-2.0 --include=GObject-2.0 --symbol-prefix=ges --identifier-prefix=GES --pkg-export=gst-editing-services-1.0 --cflags-begin -fvisibility=hidden -fno-strict-aliasing -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wdeclaration-after-statement -Wvla -Wpointer-arith -I./subprojects/gst-editing-services/. -I../subprojects/gst-editing-services/. -I./subprojects/gstreamer/. -I../subprojects/gstreamer/. -I./subprojects/gstreamer/libs -I../subprojects/gstreamer/libs -I./subprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -I./subprojects/orc/. -I../subprojects/orc/. -I./subprojects/gst-devtools/validate/. -I../subprojects/gst-devtools/validate/. -I./subprojects/gstreamer/gst/parse -I../subprojects/gstreamer/gst/parse -I./subprojects/gst-plugins-base/. -I../subprojects/gst-plugins-base/. -I/usr/local/Cellar/glib/2.64.3/include/glib-2.0 -I/usr/local/Cellar/glib/2.64.3/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.44/include -I/usr/local/Cellar/libffi/3.3/include -I/usr/local/Cellar/glib/2.64.3/include -I/usr/local/Cellar/json-glib/1.4.4/include/json-glib-1.0 -I/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/include/python3.8 -I/usr/local/Cellar/gobject-introspection/1.64.1_2/include/gobject-introspection-1.0 --cflags-end --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/gst --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/base --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/video --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/tag --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/audio --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/controller --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check --add-include-path=/Users/jdm/src/gst-build/build/subprojects/gst-devtools/validate/gst/validate --add-include-path=/usr/local/Cellar/gobject-introspection/1.64.1_2/share/gir-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/gst --extra-library=gstreamer-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/base --extra-library=gstbase-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/video -L/Users/jdm/src/gst-build/build/subprojects/orc/orc --extra-library=gstvideo-1.0 --extra-library=orc-0.4 -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/audio -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/tag -L/usr/lib --extra-library=gstpbutils-1.0 --extra-library=gstaudio-1.0 --extra-library=gsttag-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/controller --extra-library=gstcontroller-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gst-devtools/validate/gst/validate -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check/libcheck --extra-library=gstvalidate-1.0 --extra-library=gstcheck-1.0 --library ges-1.0 -L/Users/jdm/src/gst-build/build/subprojects/gst-editing-services/ges -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/gst -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/base -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/video -L/Users/jdm/src/gst-build/build/subprojects/orc/orc -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/pbutils -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/audio -L/Users/jdm/src/gst-build/build/subprojects/gst-plugins-base/gst-libs/gst/tag -L/usr/lib -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/controller -L/Users/jdm/src/gst-build/build/subprojects/gst-devtools/validate/gst/validate -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check -L/Users/jdm/src/gst-build/build/subprojects/gstreamer/libs/gst/check/libcheck -L/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/lib -L/usr/local/Cellar/glib/2.64.3/lib -L/usr/local/opt/gettext/lib --extra-library=glib-2.0 --extra-library=intl --extra-library=gobject-2.0 --extra-library=gmodule-2.0 --extra-library=m --extra-library=z --extra-library=gio-2.0 --extra-library=xml2 -L/usr/local/Cellar/json-glib/1.4.4/lib --extra-library=json-glib-1.0 -L/usr/local/Cellar/python@3.8/3.8.3_2/Frameworks/Python.framework/Versions/3.8/lib --extra-library=python3.8 --extra-library=dl -L/usr/local/Cellar/gobject-introspection/1.64.1_2/lib --extra-library=girepository-1.0 --sources-top-dirs /Users/jdm/src/gst-build/subprojects/gst-editing-services --sources-top-dirs /Users/jdm/src/gst-build/build/subprojects/gst-editing-services