1.14.4 -- Linking error related to webrtc example
I am running a build of gstreamer 1.14.4
in a properly isolated environment (via docker) where pkg-config
cannot find any old versions of gstreamer packages which might have been installed on the system before.
I observed a linking error.
[798/811] Linking target tests/examples/webrtc/webrtcbidirectional.
FAILED: tests/examples/webrtc/webrtcbidirectional
cc -o tests/examples/webrtc/webrtcbidirectional 'tests/examples/webrtc/a19cb77@@webrtcbidirectional@exe/webrtcbidirectional.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group gst-libs/gst/webrtc/libgstwebrtc-1.0.so.0.1404.0 /usr/lib/x86_64-linux-gnu/libglib-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstreamer-1.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstbase-1.0.so /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../../gst-libs/gst/webrtc' -Wl,-rpath-link,/home/default_user/.conan/data/gst-plugins-bad/1.14.4/my_conan_user/my_conan_channel/build/fbfbadda4735378a716624138532814c1b5a5b9b/build/gst-libs/gst/webrtc
/usr/bin/ld: warning: libgstrtp-1.0.so.0, needed by /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so, not found (try using -rpath or -rpath-link)
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_pt'
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_name'
collect2: error: ld returned 1 exit status
[799/811] Linking target tests/check/libs_vp8parser.
[800/811] Linking target tests/check/libs_mpegvideoparser.
[801/811] Compiling C object 'tests/examples/webrtc/a19cb77@@webrtc@exe/webrtc.c.o'.
[802/811] Linking target tests/examples/webrtc/webrtcswap.
FAILED: tests/examples/webrtc/webrtcswap
cc -o tests/examples/webrtc/webrtcswap 'tests/examples/webrtc/a19cb77@@webrtcswap@exe/webrtcswap.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group gst-libs/gst/webrtc/libgstwebrtc-1.0.so.0.1404.0 /usr/lib/x86_64-linux-gnu/libglib-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstreamer-1.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstbase-1.0.so /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../../gst-libs/gst/webrtc' -Wl,-rpath-link,/home/default_user/.conan/data/gst-plugins-bad/1.14.4/my_conan_user/my_conan_channel/build/fbfbadda4735378a716624138532814c1b5a5b9b/build/gst-libs/gst/webrtc
/usr/bin/ld: warning: libgstrtp-1.0.so.0, needed by /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so, not found (try using -rpath or -rpath-link)
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_pt'
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_name'
collect2: error: ld returned 1 exit status
[803/811] Compiling C object 'tests/check/7d01337@@libs_vc1parser@exe/libs_vc1parser.c.o'.
[804/811] Compiling C object 'tests/examples/webrtc/a19cb77@@webrtctransceiver@exe/webrtctransceiver.c.o'.
[805/811] Compiling C object 'tests/examples/mpegts/8072a2e@@tsparser@exe/ts-parser.c.o'.
[806/811] Compiling C object 'tests/examples/0ff8f0c@@playout@exe/playout.c.o'.
ninja: build stopped: subcommand failed.
I fixed this error by disabling the webrtc
example in my local branch as follows:
From 63b8f3ea8e6c0a443168f294b704be0496de08eb Mon Sep 17 00:00:00 2001
From: "A. David Ing" <ing.dave@gmail.com>
Date: Tue, 8 Jan 2019 14:30:51 -0800
Subject: [PATCH] disable webrtc example
---
tests/examples/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/examples/meson.build b/tests/examples/meson.build
index 356587f69..b91126bba 100644
--- a/tests/examples/meson.build
+++ b/tests/examples/meson.build
@@ -11,7 +11,7 @@ subdir('mpegts')
#subdir('opencv')
#subdir('uvch264')
#subdir('waylandsink')
-subdir('webrtc')
+#subdir('webrtc')
executable('playout',
'playout.c',
--
2.17.1
The fix (described above) is just disabling an example, but there is probably a better way to fix this bug which allows the example to stay in.