I have created new metadata type in: gst-plugins-bad/gst-libs/gst/vanc/gstvancmeta.[ch] Which creates: /opt/gst/lib/libgstvancmeta-1.0.so.0.0.0 gst-plugins-bad/sys/decklink/Makefile.am to have: libgstdecklink_la_LIBADD = \ $(GST_PLUGINS_BASE_LIBS) \ -lgstaudio-@GST_API_VERSION@ \ -lgstvideo-@GST_API_VERSION@ \ -lgstvancmeta-@GST_API_VERSION@ \ ... /opt/gst/lib/gstreamer-1.0/libgstlibav.so: undefined symbol: vanc_meta_get_info libgstlibav_la_LIBADD = $(LIBAV_LIBS) $(GST_PLUGINS_BASE_LIBS) \ -lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \ -lgstpbutils-$(GST_API_VERSION) -lgstvancmeta-$(GST_API_VERSION) \ ... _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, 2016-10-07 at 00:00 +0000, John P Poet wrote:
> I have created new metadata type in: > > gst-plugins-bad/gst-libs/gst/vanc/gstvancmeta.[ch] > > Which creates: > > /opt/gst/lib/libgstvancmeta-1.0.so.0.0.0 > > I have run into trouble trying to link against it, though. I have > modified > gst-plugins-bad/sys/decklink/Makefile.am to have: > > libgstdecklink_la_LIBADD = \ > $(GST_PLUGINS_BASE_LIBS) \ > -lgstaudio-@GST_API_VERSION@ \ > -lgstvideo-@GST_API_VERSION@ \ > -lgstvancmeta-@GST_API_VERSION@ \ > ... > > But it is not finding it while trying to build gst-plugins-bad. If I > install libgstvancmeta first, then build decklink, it finds it. Does > this mean that I need to add a 'local' path for the gstvanmeta lib, > or should gstvanmeta lib be move to gst-plugins-base? library .la file, i.e. $(top_builddir)/gst-libs/gst/vanc/libgstvancmeta-@GST_API_VERSION@.la I would also suggest to call the library libgstvanc (i.e. without the meta part). Are you planning to submit the code of the library and the changes to the decklink plugin upstream at some point? > Also, when the gstvanmeta lib is installed (/opt/gst/lib), I have > also run into trouble trying to use it with avenc_mpeg2video, I get: > /opt/gst/lib/gstreamer-1.0/libgstlibav.so: undefined symbol: > vanc_meta_get_info > > To fix that, I tried changing gst-libav/ext/libav/Makefile.am to > have: > libgstlibav_la_LIBADD = $(LIBAV_LIBS) $(GST_PLUGINS_BASE_LIBS) \ > -lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \ > -lgstpbutils-$(GST_API_VERSION) -lgstvancmeta-$(GST_API_VERSION) > \ > ... > > But that did not seem to help. It looks like libgstlibav.so is being > installed in /opt/gst/lib/gstreamer-1.0, but libgstvancmeta.so is > being installed in /opt/gst/lib. Does libgstvancmeta.so belong in > /opt/gst/lib/gstreamer-1.0? If so, how do I get it there? Makefile.am, it should go to the normal library directory and not the plugin directory. Compare your Makefile.am with the ones of other libraries in gst-libs. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (949 bytes) Download Attachment |
On Thu, Oct 6, 2016 at 7:38 PM Sebastian Dröge <[hidden email]> wrote:
As plugin and library are in the same module, you have to link to the That fixed that issue. I would also suggest to call the library libgstvanc (i.e. without the Done. Are you planning to submit the code of the library and the changes to Yes, absolutely. As a matter of fact, I will attach what I have done so far to this email, in the hope that you will have time to look at it and give me other suggestions. > Also, when the gstvanmeta lib is installed (/opt/gst/lib), I have I am still having this problem. When building, I am doing: ``` export PKG_CONFIG_PATH=/opt/gst/lib/pkgconfig ``` and ``` ./autogen.sh --prefix=/opt/gst make sudo make install ``` In each directory. In gst-plugins-bad/gst-libs/gst/vanc/Makefile.am, I have: ``` lib_LTLIBRARIES = libgstvanc-@GST_API_VERSION@.la ``` That should be correct, right? In gst-libav/ext/libav/Makefile.am, I have: ``` libgstlibav_la_LIBADD = $(LIBAV_LIBS) $(GST_PLUGINS_BASE_LIBS) \ -lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \ -lgstpbutils-$(GST_API_VERSION) -lgstvanc-$(GST_API_VERSION) \ $(GST_BASE_LIBS) $(LIBM) $(WIN32_LIBS) -lz $(BZ2_LIBS) $(LZMA_LIBS) ``` When I inspect libav, I get: ``` gst-inspect-1.0 avenc_mpeg2video (gst-plugin-scanner:21594): GStreamer-WARNING **: Failed to load plugin '/opt/gst/lib/gstreamer-1.0/libgstlibav.so': /opt/gst/lib/gstreamer-1.0/libgstlibav.so: undefined symbol: vanc_meta_get_info No such element or plugin 'avenc_mpeg2video' ``` If I run ldd on /opt/gst/lib/gstreamer-1.0/libgstlibav.so, I get: ``` ldd /opt/gst/lib/gstreamer-1.0/libgstlibav.so linux-vdso.so.1 (0x00007fff815ba000) libgstaudio-1.0.so.0 => /opt/gst/lib/libgstaudio-1.0.so.0 (0x00007f9f871e7000) libgstvideo-1.0.so.0 => /opt/gst/lib/libgstvideo-1.0.so.0 (0x00007f9f86f70000) libgstpbutils-1.0.so.0 => /opt/gst/lib/libgstpbutils-1.0.so.0 (0x00007f9f86d3b000) libgstvanc-1.0.so.0 => /opt/gst/lib/libgstvanc-1.0.so.0 (0x00007f9f86b39000) libgstbase-1.0.so.0 => /opt/gst/lib/libgstbase-1.0.so.0 (0x00007f9f868d6000) libgstreamer-1.0.so.0 => /opt/gst/lib/libgstreamer-1.0.so.0 (0x00007f9f865a5000) libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f9f86352000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9f86043000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9f85d42000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9f85b27000) libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f9f85917000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9f856fa000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9f8534f000) libgsttag-1.0.so.0 => /opt/gst/lib/libgsttag-1.0.so.0 (0x00007f9f85115000) libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f9f84f11000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9f84d09000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9f84b05000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f9f848fd000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9f8468f000) /lib64/ld-linux-x86-64.so.2 (0x00007f9f88b58000) ``` So libgstlibav.so finds libgstvanc it okay. This makes me think the problem is with gst-launch-1.0 and gst-inspect-1.0, but that doesn't really make sense. Can you spot anything else I am doing wrong? Thanks, John _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |