GNOME Bugzilla – Bug 778270
base: meson: linking errors when running tests
Last modified: 2018-11-03 11:54:36 UTC
$ mesontest.py -C build --suite gst-plugins-base elements/volume the test passes but its output contains: (volume:13357): GStreamer-WARNING **: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though. This applies to all base tests. The test is run using GST_PLUGIN_PATH_1_0='/home/cassidy/dev/gst/master/gst-build/build' which is the top root of the build dir. I'm not sure what exactly but there seems to have some linking problems when using this path: $ rm -rf ~/.cache/gstreamer-1.0/ $ GST_PLUGIN_PATH_1_0='/home/cassidy/dev/gst/master/gst-build/build' gst-inspect-1.0 (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/plugins/gapplication/libgstvalidategapplication.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so.0: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/plugins/gtk/libgstvalidategtk.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so.0: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/plugins/fault_injection/libgstvalidatefaultinjection.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so.0: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/plugins/ssim/libgstvalidatessim.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so.0: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidateplugin.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidateplugin.so: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-plugins-base/gst/pbtypes/libgstpbtypes.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-plugins-base/gst/pbtypes/libgstpbtypes.so: undefined symbol: gst_dynamic_type_register (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-editing-services/ges/libges-1.0.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-devtools/validate/gst/validate/libgstvalidate-1.0.so.0: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-plugins-bad/sys/decklink/libgstdecklink.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gst-plugins-bad/sys/decklink/libgstdecklink.so: undefined symbol: gst_calculate_linear_regression (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/home/cassidy/dev/gst/master/gst-build/build/subprojects/gstreamer/plugins/tracers/libgstcoretracers.so': /home/cassidy/dev/gst/master/gst-build/build/subprojects/gstreamer/plugins/tracers/libgstcoretracers.so: undefined symbol: gst_debug_get_stack_trace (gst-plugin-scanner:13760): GLib-GObject-WARNING **: specified class size for type 'GstDashDemux' is smaller than the parent type's 'GstAdaptiveDemux' class size (gst-plugin-scanner:13760): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (gst-plugin-scanner:13760): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed (gst-plugin-scanner:13760): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-1.0/libgstopengl.so': /usr/lib64/gstreamer-1.0/libgstopengl.so: undefined symbol: gst_gl_caps_replace_all_caps_features (gst-plugin-scanner:13760): GLib-GObject-WARNING **: specified class size for type 'GstMssDemux' is smaller than the parent type's 'GstAdaptiveDemux' class size (gst-plugin-scanner:13760): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (gst-plugin-scanner:13760): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed (gst-plugin-scanner:13760): GLib-GObject-WARNING **: specified class size for type 'GstHLSDemux' is smaller than the parent type's 'GstAdaptiveDemux' class size (gst-plugin-scanner:13760): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (gst-plugin-scanner:13760): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
This looks like the entire test environment variable setup isn't right, there's a whitelist and it should not load other modules than core + base for example.
Is this in a gst-build uninstalled setup (ninja -C build uninstalled) or did you just build everything with gst-build an then run meson test?
This is from my normal env (not in uninstalled): $ meson test -C build --suite gst-plugins-base elements_volume -v ninja: Entering directory `/home/cassidy/dev/gst/master/gst-build/build' ninja: no work to do. (elements_volume:8908): GStreamer-WARNING **: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though. Running suite(s): volume 100%: Checks: 36, Failures: 0, Errors: 0 Check suite volume ran in 0.391s (tests failed: 0) 1/1 gst-plugins-base / elements_volume OK 1.47 s OK: 1 FAIL: 0 SKIP: 0 TIMEOUT: 0
Is this still a problem ?
Looks like it: $ meson test -C build --suite gst-plugins-base elements_volume -v ninja: Entering directory `/home/cassidy/dev/gst/master/gst-build/build' [1/1] Linking target subprojects/gst-devtools/validate/tools/gst-validate-rtsp-server-1.0. (elements_volume:25613): GStreamer-WARNING **: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though. Running suite(s): volume 100%: Checks: 36, Failures: 0, Errors: 0 Check suite volume ran in 0.457s (tests failed: 0) 1/1 gst-plugins-base / elements_volume OK 1.82 s
-- 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/gst-plugins-base/issues/336.