GNOME Bugzilla – Bug 756259
0.6.1: Fails to link egl: undefined reference to `g_module_close'
Last modified: 2015-11-30 12:24:05 UTC
Mageia uses --as-needed. When building with egl support, the build fails. mv -f .deps/libgstvaapi_egl_1.6_la-gstvaapiwindow_egl.Tpo .deps/libgstvaapi_egl_1.6_la-gstvaapiwindow_egl.Plo /bin/sh ../../../libtool --tag=CC --mode=link i586-mageia-linux-gnu-gcc -DIN_LIBGSTVAAPI -DGST_USE_UNSTABLE_API -I../../../gst-libs -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libdrm -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables -no-undefined -version-info 1:0:0 -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o libgstvaapi-egl-1.6.la -rpath /usr/lib libgstvaapi_egl_1.6_la-gstvaapidisplay_egl.lo libgstvaapi_egl_1.6_la-gstvaapisurface_egl.lo libgstvaapi_egl_1.6_la-gstvaapitexture_egl.lo libgstvaapi_egl_1.6_la-gstvaapiutils_egl.lo libgstvaapi_egl_1.6_la-gstvaapiwindow_egl.lo -lglib-2.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 libgstvaapi-1.6.la -lEGL -ldl -lm libtool: link: i586-mageia-linux-gnu-gcc -shared -fPIC -DPIC .libs/libgstvaapi_egl_1.6_la-gstvaapidisplay_egl.o .libs/libgstvaapi_egl_1.6_la-gstvaapisurface_egl.o .libs/libgstvaapi_egl_1.6_la-gstvaapitexture_egl.o .libs/libgstvaapi_egl_1.6_la-gstvaapiutils_egl.o .libs/libgstvaapi_egl_1.6_la-gstvaapiwindow_egl.o -Wl,-rpath -Wl,/home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/.libs -Wl,-rpath -Wl,/home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/ext/libvpx/.libs -L/home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/ext/libvpx/.libs ./.libs/libgstvaapi-1.6.so -lgstvideo-1.0 -lva -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/ext/libvpx/.libs/libgstcodecparsers_vpx.so -lEGL -ldl -lm -pthread -pthread -O2 -march=i586 -mtune=generic -Wl,--as-needed -Wl,--no-undefined -Wl,-z -Wl,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -pthread -Wl,-soname -Wl,libgstvaapi-egl-1.6.so.1 -o .libs/libgstvaapi-egl-1.6.so.1.0.0 .libs/libgstvaapi_egl_1.6_la-gstvaapidisplay_egl.o: In function `gst_vaapi_display_loader_finalize': /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapidisplay_egl.c:92: undefined reference to `g_module_close' .libs/libgstvaapi_egl_1.6_la-gstvaapidisplay_egl.o: In function `gst_vaapi_display_loader_try_load_module': /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapidisplay_egl.c:162: undefined reference to `g_module_close' /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapidisplay_egl.c:170: undefined reference to `g_module_open' .libs/libgstvaapi_egl_1.6_la-gstvaapidisplay_egl.o: In function `gst_vaapi_display_loader_try_load': /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapidisplay_egl.c:186: undefined reference to `g_module_name' /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapidisplay_egl.c:188: undefined reference to `g_module_symbol' /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapidisplay_egl.c:190: undefined reference to `g_module_symbol' .libs/libgstvaapi_egl_1.6_la-gstvaapiutils_egl.o: In function `egl_vtable_load_symbol': /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapiutils_egl.c:323: undefined reference to `g_module_symbol' .libs/libgstvaapi_egl_1.6_la-gstvaapiutils_egl.o: In function `egl_vtable_finalize': /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapiutils_egl.c:450: undefined reference to `g_module_close' .libs/libgstvaapi_egl_1.6_la-gstvaapiutils_egl.o: In function `egl_vtable_try_load_library': /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapiutils_egl.c:402: undefined reference to `g_module_close' /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapiutils_egl.c:403: undefined reference to `g_module_open' /home/iurt/rpmbuild/BUILD/gstreamer-vaapi-0.6.1/gst-libs/gst/vaapi/gstvaapiutils_egl.c:408: undefined reference to `g_module_name' I changed the following in configure.ac and then it worked. However, my knowledge is 0. It builds, I don't know if this is right: -PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $GLIB_VERSION_REQUIRED]) +PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $GLIB_VERSION_REQUIRED gmodule-no-export-2.0])
Forgot: full build log at: http://pkgsubmit.mageia.org/uploads/failure/cauldron/core/release/20151008183121.ovitters.valstar.17783/log/gstreamer-vaapi-0.6.1-3.mga6/build.0.20151008183149.log
Created attachment 316375 [details] [review] build: Add gmodule dependency for libgstvaapi_egl Could you please have a try with this attached patch ??
(In reply to sreerenj from comment #2) > Created attachment 316375 [details] [review] [review] > build: Add gmodule dependency for libgstvaapi_egl > > Could you please have a try with this attached patch ?? LGTM! I'm going to push it now.
Attachment 316375 [details] pushed as d7bd0a4 - build: Add gmodule dependency for libgstvaapi_egl