https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: media-plugins/gst-plugins-webrtc-1.22.3 installs files with unresolved SONAME dependencies. Discovered on: amd64 (internal ref: ci)
Created attachment 862952 [details] build.log build log and emerge --info
Dumping here as a note to self: [14:12:56] <@leio> sam_: I think this was improperly split by me long ago in the first place; it should be separate for the dsp stuff and the libnice stuff iirc [14:13:04] <@leio> not lumped into one [14:13:49] <@leio> so there should be a dsp package that deps on webrtc-audio-processing, and a webrtc package that depends on libnice and gst-plugins-sctp stuff [14:14:22] <@leio> the details are in some ancient backlog with nirbheek from this channel, though might have been freenode
[13:24:12] <+sam_> so webrtc is split properly in the sense that libgstwebrtcnice is in gst-libs/gst/webrtc, while there's also ext/webrtc [13:32:25] <+sam_> not sure how to persuade media-plugins/gst-plugins-webrtc to actually install it [13:32:33] <+sam_> (i'm not worrying about the further split for a moment) [13:33:08] <+sam_> maybe i'm not getting how we normally handle such gst-libs [14:04:53] <@leio> helper libs on top of external dependencies and helper libs that depend on external dependencies isn't something we had to deal with much in earlier versions
*** Bug 909079 has been marked as a duplicate of this bug. ***
See also e.g. https://bugs.gentoo.org/909079#c2.
Thanks to the previous comment I am now able to at least have the webrtc plugin installed again. What I did emerge --unmerge media-plugins/gst-plugins-webrtc MYMESONARGS="-Dwebrtc=enabled -Dwebrtcdsp=enabled" emerge gst-plugins-bad This results in $ gst-inspect-1.0 | grep webrtc webrtc: webrtcbin: WebRTC Bin webrtcdsp: webrtcdsp: Voice Processor (AGC, AEC, filters, etc.) webrtcdsp: webrtcechoprobe: Acoustic Echo Canceller probe
There's a bunch to fix for webrtc and webrtcdsp stuff (really they should be separate split packages, dsp is very useful outside webrtc), but for the immediate problem at hand: From the build.log it seems that libgstwebrtcnice-1.0.so.0 is already built in the compilation process, but the eclass installs just via this: local plugin_dir plugin for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do for plugin in $(_gstreamer_get_target_filename $(gstreamer_get_plugin_dir ${plugin_dir})); do local install_filename="${plugin##*:}" insinto "${install_filename%/*}" doins "${plugin%%:*}" done done Thus we need to install it separately as well. Something like this (untested) added at the end of the ebuild might do: multilib_src_install() { DESTDIR="${D}" eninja install } But this needs to be checked that all it really installs are the things it already installs before this, and just libgstwebrtcnice-1.0.so.0* and its headers into /usr/include/gstreamer-1.0/gst/webrtc/nice/ - if not, might need to filter something out from $ED. If that doesn't work out, we might need to hack it up until a full solution with something like this: multilib_src_install() { insinto /usr/$(get_libdir) doins "${BUILD_DIR}"/ext/webrtc/libgstwebrtc.so insinto /usr/include/gstreamer-1.0/gst/webrtc/nice doins "${S}"/gst-libs/gst/webrtc/nice/*.h gstreamer_multilib_src_install }
(In reply to Mart Raudsepp from comment #8) Thank you! Sorry, I'd got sort of stuck in a loop on this and kept putting it off. The second option works (the first doesn't b/c there's no split up ninja targets AFAICT, so it installs all of bad). * CMP: =media-plugins/gst-plugins-webrtc-1.22.3 with media-plugins/gst-plugins-webrtc-1.22.3/image * FILES:+usr/include/gstreamer-1.0/gst/webrtc/nice/nice.h * FILES:+usr/include/gstreamer-1.0/gst/webrtc/nice/nice_fwd.h * FILES:+usr/include/gstreamer-1.0/gst/webrtc/nice/nicestream.h * FILES:+usr/include/gstreamer-1.0/gst/webrtc/nice/nicetransport.h * FILES:+usr/lib/libgstwebrtc.so * FILES:+usr/lib64/libgstwebrtc.so * SIZE: 4.45MiB -> 7.49MiB, 4 -> 10 files * ------> FILES(+6) SIZE(+68.19%)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7dbf45f208afd99b435049a366f4a9a5308d1f18 commit 7dbf45f208afd99b435049a366f4a9a5308d1f18 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-27 12:59:35 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-27 13:00:00 +0000 media-plugins/gst-plugins-webrtc: fix plugin installation via manual install Thanks to leio for the suggestion. Closes: https://bugs.gentoo.org/907470 Signed-off-by: Sam James <sam@gentoo.org> ...-webrtc-1.22.3.ebuild => gst-plugins-webrtc-1.22.3-r1.ebuild} | 9 +++++++++ 1 file changed, 9 insertions(+)