| Summary: | media-plugins/gst-plugins-webrtc-1.22.3 installs files with unresolved SONAME dependencies | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Agostino Sarubbo <ago> |
| Component: | Current packages | Assignee: | GStreamer package maintainers <gstreamer> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | bas, sam |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| See Also: | https://bugs.gentoo.org/show_bug.cgi?id=911317 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | build.log | ||
|
Description
Agostino Sarubbo
2023-05-31 06:53:38 UTC
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. 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(+) |