Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 12111

Compiling gstreamer with msdkh264enc results in relocation errors

$
0
0

I would like to use msdkh264enc (on Linux) which requires that I build gstreamer from sources, as per the docs.

I run the following configure step:

meson setup -Dbad=enabled -Dgst-plugins-bad:msdk=enabled -Dgst-plugins-bad:avtp=disabled build

Which enables msdk (that's the point here) and disables avtp (because it fails to build on my Alpine Linux).

The configure step works and shows the required output

Run-time dependency libmfx found: YES 1.28Has header "mfx/mfxdefs.h" : YES Has header "mfxvp9.h" : YES

At the end of the build I install in /tmp/blah. I have a libgstmsdk.so, but its ldd libgstmsdk.so output looks like there are runtime issues:

ldd /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so                                                                                                                                                                            [0]    /lib/ld-musl-x86_64.so.1 (0x7f33e7666000)    libgstbase-1.0.so.0 => /usr/lib/libgstbase-1.0.so.0 (0x7f33e75a2000)    libgstreamer-1.0.so.0 => /usr/lib/libgstreamer-1.0.so.0 (0x7f33e7457000)    libgstvideo-1.0.so.0 => /usr/lib/libgstvideo-1.0.so.0 (0x7f33e7393000)    libgstpbutils-1.0.so.0 => /usr/lib/libgstpbutils-1.0.so.0 (0x7f33e7354000)    libgstcodecparsers-1.0.so.0 => /usr/lib/libgstcodecparsers-1.0.so.0 (0x7f33e72ca000)    libgstva-1.0.so.0 => /usr/lib/libgstva-1.0.so.0 (0x7f33e72b6000)    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x7f33e716a000)    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x7f33e710d000)    libmfx.so.1 => /usr/lib/libmfx.so.1 (0x7f33e70fd000)    libva.so.2 => /usr/lib/libva.so.2 (0x7f33e70d3000)    libdrm.so.2 => /usr/lib/libdrm.so.2 (0x7f33e70bd000)    libgudev-1.0.so.0 => /usr/lib/libgudev-1.0.so.0 (0x7f33e70b2000)    libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f33e7666000)    libintl.so.8 => /usr/lib/libintl.so.8 (0x7f33e70a0000)    libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x7f33e7099000)    liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x7f33e701b000)    libgstaudio-1.0.so.0 => /usr/lib/libgstaudio-1.0.so.0 (0x7f33e6f9c000)    libgsttag-1.0.so.0 => /usr/lib/libgsttag-1.0.so.0 (0x7f33e6f5e000)    libgstallocators-1.0.so.0 => /usr/lib/libgstallocators-1.0.so.0 (0x7f33e6f57000)    libva-drm.so.2 => /usr/lib/libva-drm.so.2 (0x7f33e6f52000)    libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x7f33e6eab000)    libffi.so.8 => /usr/lib/libffi.so.8 (0x7f33e6ea1000)    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f33e6c08000)    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f33e6be4000)    libudev.so.1 => /lib/libudev.so.1 (0x7f33e6bd4000)    libz.so.1 => /lib/libz.so.1 (0x7f33e6bba000)Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_va_dmabuf_get_modifier_for_format: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_to_video_info: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_dma_drm_fourcc_from_string: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_new_from_caps: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_dma_drm_fourcc_to_string: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_init: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_to_caps: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_is_dma_drm_caps: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_va_drm_fourcc_from_video_format: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_free: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_va_video_format_from_drm_fourcc: symbol not found

Also gst-inspect-1.0 does not show anything containing msdk (a bunch of plugins should be there, including msdkh264enc), though it shows errors, e.g.:

% GST_PLUGIN_PATH="/tmp/blah/usr/local/lib" /tmp/blah/usr/local/bin/gst-inspect-1.0 msdkh264enc                                                                                                                                                              [1](gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.129: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstopengl.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstopengl.so: gst_buffer_pool_config_set_gl_min_free_queue_size: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.135: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstisomp4.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstisomp4.so: gst_rtp_base_depayload_set_aggregate_hdrext_enabled: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.136: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstmultifile.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmultifile.so: gst_util_filename_compare: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.136: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtp.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtp.so: gst_rtp_base_depayload_set_aggregate_hdrext_enabled: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.137: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtsp.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtsp.so: gst_rtsp_connection_add_extra_http_request_header: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.139: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstadaptivedemux2.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstadaptivedemux2.so: gst_element_decorate_stream_id: symbol not found[...]No such element or plugin 'msdkh264enc'

What am I missing? Could I be missing libraries on my system? Could it be related to my disabling avtp?


Viewing all articles
Browse latest Browse all 12111

Trending Articles