how to handle plugin error on different kernel/docker host

Reinis reinis at xpresshd.com
Sun Sep 5 20:56:32 UTC 2021


Ok run `GST_DEBUG=*:6 gst-inspect-1.0 
/usr/local/lib64/gstreamer-1.0/libgstndi.so` that should show more info

On 9/5/21 11:40 PM, Marc wrote:
> Ok the ldd I did already, that seems fine.
>
> [@ bin]# ldd /usr/local/lib64/gstreamer-1.0/libgstndi.so
>          linux-vdso.so.1 (0x00007ffe8b1b4000)
>          libndi.so.5 => /usr/local/lib/libndi.so.5 (0x00007f07b9e2c000)
>          libgstaudio-1.0.so.0 => /usr/local/lib64/libgstaudio-1.0.so.0 (0x00007f07b9bbb000)
>          libgstbase-1.0.so.0 => /usr/local/lib64/libgstbase-1.0.so.0 (0x00007f07b993d000)
>          libgstreamer-1.0.so.0 => /usr/local/lib64/libgstreamer-1.0.so.0 (0x00007f07b95fb000)
>          libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f07b93a8000)
>          libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f07b908f000)
>          libgstvideo-1.0.so.0 => /usr/local/lib64/libgstvideo-1.0.so.0 (0x00007f07b8dec000)
>          libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f07b8bd4000)
>          libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f07b89b4000)
>          libm.so.6 => /lib64/libm.so.6 (0x00007f07b8632000)
>          libdl.so.2 => /lib64/libdl.so.2 (0x00007f07b842e000)
>          libc.so.6 => /lib64/libc.so.6 (0x00007f07b8069000)
>          /lib64/ld-linux-x86-64.so.2 (0x00007f07bbd48000)
>          libavahi-common.so.3 => /lib64/libavahi-common.so.3 (0x00007f07b7e5c000)
>          libavahi-client.so.3 => /lib64/libavahi-client.so.3 (0x00007f07b7c4a000)
>          libgsttag-1.0.so.0 => /usr/local/lib64/libgsttag-1.0.so.0 (0x00007f07b7a0f000)
>          libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f07b780b000)
>          libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007f07b741a000)
>          libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f07b71a9000)
>          libffi.so.6 => /lib64/libffi.so.6 (0x00007f07b6fa0000)
>          libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f07b6d4c000)
>          libz.so.1 => /lib64/libz.so.1 (0x00007f07b6b35000)
>          libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007f07b680b000)
>          libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f07b65ed000)
>          libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f07b626c000)
>          libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007f07b6059000)
>          libnettle.so.6 => /lib64/libnettle.so.6 (0x00007f07b5e1f000)
>          libhogweed.so.4 => /lib64/libhogweed.so.4 (0x00007f07b5bef000)
>          libgmp.so.10 => /lib64/libgmp.so.10 (0x00007f07b5957000)
>          libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f07b5612000)
>          librt.so.1 => /lib64/librt.so.1 (0x00007f07b540a000)
>          liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f07b51e3000)
>          liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f07b4fc6000)
>          libcap.so.2 => /lib64/libcap.so.2 (0x00007f07b4dc0000)
>          libmount.so.1 => /lib64/libmount.so.1 (0x00007f07b4b66000)
>          libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f07b4848000)
>          libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f07b45f5000)
>          libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f07b43ed000)
>          libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f07b41c3000)
>          libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f07b3fa2000)
>          libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f07b3d1e000)
>
>
>> Sorry I mistyped. You should use `ldd` command `ldd
>> /usr/local/lib64/gstreamer-1.0/libgstndi.so`
>>
>>
>> On 9/5/21 11:34 PM, Marc wrote:
>>> Yes, looks like something is not ok. But I guess this is then related
>> to compiler flag, that builds specific to the host cpu/kernel?
>>> [@bin]# ld /usr/local/lib64/gstreamer-1.0/libgstndi.so
>>> ld: warning: cannot find entry symbol _start; not setting start
>> address
>>>
>>>
>>>> How did you install those plugins?
>>>>
>>>> Check that all dependencies for `libgstndi.so` are in place (`ld
>>>> /usr/local/lib64/gstreamer-1.0/libgstndi.so`)
>>>>
>>>> On 9/5/21 8:52 PM, Marc via gstreamer-devel wrote:
>>>>> I have centos8 docker image that builds gstreamer,base,good,bad from
>>>> source plus the gstreamer-ndi plugin. Strange thing is, that if I run
>>>> the docker image on a centos7 host with a 3.10 kernel gst-inspect is
>>>> fine:
>>>>> [/]# gst-inspect-1.0 /usr/local/lib64/gstreamer-1.0/libgstndi.so
>>>>> Plugin Details:
>>>>>      Name                     ndi
>>>>>      Description              NewTek NDI Plugin
>>>>>      Filename                 /usr/local/lib64/gstreamer-
>>>> 1.0/libgstndi.so
>>>>>      Version                  1.0.0-160571e
>>>>>      License                  LGPL
>>>>>      Source module            gst-plugin-ndi
>>>>>      Source release date      2021-08-17
>>>>>      Binary package           gst-plugin-ndi
>>>>>      Origin URL               https://github.com/teltek/gst-plugin-
>> ndi
>>>>>      ndisink: NDI Sink
>>>>>      ndisinkcombiner: NDI Sink Combiner
>>>>>      ndiaudiosrc: NewTek NDI Audio Source
>>>>>      ndivideosrc: NewTek NDI Video Source
>>>>>      ndideviceprovider: NewTek NDI Device Provider
>>>>>
>>>>>      5 features:
>>>>>      +-- 4 elements
>>>>>      +-- 1 device providers
>>>>>
>>>>> But when I move the centos8 docker image to a centos8 host, and
>>>> execute the same I am getting this error
>>>>> []# ldconfig
>>>>> []# gst-inspect-1.0 /usr/local/lib64/gstreamer-1.0/libgstndi.so
>>>>> 0:00:00.033940037  1886      0x21fa960 ERROR     GST_PLUGIN_LOADING
>>>> src/lib.rs:71:gstndi::plugin_desc: Failed to register plugin: Cannot
>>>> initialize NDI
>>>>> Could not load plugin file: File "/usr/local/lib64/gstreamer-
>>>> 1.0/libgstndi.so" appears to be a GStreamer plugin, but it failed to
>>>> initialize
>>>>> How should I debug this?
>>>>>
>>>>> Rebuilding a new image on the centos8 host does not resolve this.
>>>>> starting the container with --cap-add SYS_ADMIN does not resolve
>> this.
>>>>>


More information about the gstreamer-devel mailing list