gstreamer plugin library not linking against opencv shared object library - “undefined symbol” on Kubuntu
iron_guitarist1987
jtrinidadperez at gmail.com
Mon Jul 30 08:02:59 PDT 2012
Hello all,
I have a plugin that uses OpenCV and it works perfectly on Kubuntu. Now I am
trying to run the code on CentOS but when I run the pipeline, I get:
$ gst-launch videotestsrc ! opencvelement ! ximagesink
WARNING: erroneous pipeline: no element "opencvelement"
When I run ldd in Kubuntu, I get:
$ ldd .libs/libOPENCVELEMENT.so
linux-gate.so.1 => (0x0060f000)
libgstbase-0.10.so.0 => /usr/lib/libgstbase-0.10.so.0 (0x00a74000)
libgstreamer-0.10.so.0 => /usr/lib/libgstreamer-0.10.so.0
(0x00474000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
(0x006a2000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0
(0x00110000)
libopencv_core.so.2.3 => /usr/local/lib/libopencv_core.so.2.3
(0x00730000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6
(0x00209000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x002f4000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00acd000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x0031e000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x0033c000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0
(0x00357000)
libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0
(0x0035d000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00c9c000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x00362000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x0036b000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0x00370000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0x00e52000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x00377000)
/lib/ld-linux.so.2 (0x00a10000)
But when I run it on CentOS, I don't see opencv
$ ldd .libs/libOPENCVELEMENT.so
linux-vdso.so.1 => (0x00007fff7a1fd000)
libgstvideo-0.10.so.0 => /usr/lib64/libgstvideo-0.10.so.0
(0x00002ba0ac9b7000)
libgstcontroller-0.10.so.0 => /usr/lib64/libgstcontroller-0.10.so.0
(0x00002ba0acbc4000)
libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0
(0x00002ba0acdeb000)
libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0
(0x00002ba0ad03c000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0
(0x00002ba0ad326000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0
(0x00002ba0ad569000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0
(0x00002ba0ad76c000)
librt.so.1 => /lib64/librt.so.1 (0x00002ba0ad970000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00002ba0adb7a000)
libz.so.1 => /lib64/libz.so.1 (0x00002ba0adeb7000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00002ba0ae0cb000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002ba0ae3a8000)
libm.so.6 => /lib64/libm.so.6 (0x00002ba0ae6a8000)
libc.so.6 => /lib64/libc.so.6 (0x00002ba0ae92b000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002ba0aec83000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ba0aee91000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002ba0af0ac000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f6c800000)
Here is my makefile.am, which is the same on both OS
plugin_LTLIBRARIES = libOPENCVELEMENT.la
# Plugin source files:
libOPENCVELEMENT_la_SOURCES = opencv_chain.c opencv_chain.h datasetup.h
libOPENCVELEMENT_la_CFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CFLAGS) \
$(OPENCV_CFLAGS)
libOPENCVELEMENT_la_CXXFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CFLAGS) \
$(OPENCV_CFLAGS)
libOPENCVELEMENT_la_LIBADD = \
$(GST_PLUGINS_BASE_LIBS) \
$(GST_LIBS) \
$(OPENCV_LIBS) \
-lopencv_core \
-lopencv_highgui
libOPENCVELEMENT_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libOPENCVELEMENT_la_LIBTOOLFLAGS = --tag=disable-static
Let me know if you need more information. Any help will be appreciated.
Thank you.
-----
The greatest trick the devil ever pulled was convincing the World that Java was better than C++.
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gstreamer-plugin-library-not-linking-against-opencv-shared-object-library-undefined-symbol-on-Kubuntu-tp4655749.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list