The ebuild installs useless files with unsatisfied soname dependencies, as shown in /var/db/pkg/dev-util/idea-community-2019.3.193.5233.102/NEEDED.ELF.2: > 386;/opt/idea-community-2019.3/plugins/maven/lib/maven3/lib/jansi-native/freebsd32/libjansi.so;libjansi-1.8.so;;libutil.so.9,libc.so.7;x86_32 > PPC64;/opt/idea-community-2019.3/lib/pty4j-native/linux/ppc64le/libpty.so;libpty.so;;libc.so.6;ppc_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-53.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec.so.53,libavformat.so.53,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-54.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec.so.54,libavformat.so.54,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-55.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec.so.55,libavformat.so.55,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-56.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec.so.56,libavformat.so.56,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-57.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec.so.57,libavformat.so.57,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-ffmpeg-56.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec-ffmpeg.so.56,libavformat-ffmpeg.so.56,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libavplugin-ffmpeg-57.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libavcodec.so.57,libavformat.so.57,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libfxplugins.so;;;libgstreamer-lite.so,libgobject-2.0.so.0,libglib-2.0.so.0,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libgstreamer-lite.so;;;libasound.so.2,libgobject-2.0.so.0,libgmodule-2.0.so.0,libgthread-2.0.so.0,libglib-2.0.so.0,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libpthread.so.0,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/jre64/lib/libjfxmedia.so;;$ORIGIN;libgstreamer-lite.so,libgobject-2.0.so.0,libgmodule-2.0.so.0,libgthread-2.0.so.0,libglib-2.0.so.0,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libpthread.so.0,libc.so.6;x86_64 > X86_64;/opt/idea-community-2019.3/plugins/Kotlin/bin/linux/LLDBFrontend;;$ORIGIN/../lib;liblldb.so,libpthread.so.0,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6,ld-linux-x86-64.so.2;x86_64 > X86_64;/opt/idea-community-2019.3/plugins/maven/lib/maven3/lib/jansi-native/freebsd64/libjansi.so;libjansi-1.8.so;;libutil.so.9,libc.so.7;x86_64 The broken soname dependencies are: > ppc_64: libc.so.6 > x86_32: libc.so.7 > x86_32: libutil.so.9 > x86_64: libavcodec-ffmpeg.so.56 > x86_64: libavcodec.so.53 > x86_64: libavcodec.so.54 > x86_64: libavcodec.so.55 > x86_64: libavcodec.so.56 > x86_64: libavcodec.so.57 > x86_64: libavformat-ffmpeg.so.56 > x86_64: libavformat.so.53 > x86_64: libavformat.so.54 > x86_64: libavformat.so.55 > x86_64: libavformat.so.56 > x86_64: libavformat.so.57 > x86_64: libc.so.7 > x86_64: libgstreamer-lite.so > x86_64: liblldb.so > x86_64: libutil.so.9 I'd like to get things like this fixed, since eventually I'd like to enable soname dependency resolution by default (bug 687956), and unsatisfied soname dependencies break the dependency graph for emerge --ignore-soname-deps=n --usepkgonly commands.
The QA check that I'm working on now produces this output for dev-util/idea-community-2019.3.193.5233.102: > * QA Notice: Unsatisfied soname dependencies: > * > * /opt/idea-community-2019.3/jre64/lib/libavplugin-53.so: libavcodec.so.53 libavformat.so.53 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libavplugin-54.so: libavcodec.so.54 libavformat.so.54 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libavplugin-55.so: libavcodec.so.55 libavformat.so.55 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libavplugin-56.so: libavcodec.so.56 libavformat.so.56 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libavplugin-57.so: libavcodec.so.57 libavformat.so.57 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libavplugin-ffmpeg-56.so: libavcodec-ffmpeg.so.56 libavformat-ffmpeg.so.56 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libavplugin-ffmpeg-57.so: libavcodec.so.57 libavformat.so.57 libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libfxplugins.so: libgstreamer-lite.so > * /opt/idea-community-2019.3/jre64/lib/libjfxmedia.so: libgstreamer-lite.so > * /opt/idea-community-2019.3/lib/pty4j-native/linux/ppc64le/libpty.so: libc.so.6 > * /opt/idea-community-2019.3/plugins/Kotlin/bin/linux/LLDBFrontend: liblldb.so > * /opt/idea-community-2019.3/plugins/maven/lib/maven3/lib/jansi-native/freebsd32/libjansi.so: libc.so.7 libutil.so.9 > * /opt/idea-community-2019.3/plugins/maven/lib/maven3/lib/jansi-native/freebsd64/libjansi.so: libc.so.7 libutil.so.9 > * The "missing" libgstreamer-lite.so soname is different from the others, since the package actually provides the soname as /opt/idea-community-2019.3/jre64/lib/libgstreamer-lite.so. Running patchelf --set-rpath '$ORIGIN' on each of the consumers would allow portage to see that this soname dependency is indeed satisfied.
(In reply to Zac Medico from comment #1) > > * /opt/idea-community-2019.3/jre64/lib/libjfxmedia.so: libgstreamer-lite.so Consider this particular libjfxmedia.so warning as a "false positive" since libjfxmedia.so already has $ORIGIN in its DT_RUNPATH field, as the NEEDED.ELF.2 entry posted in comment #0 shows.
Created attachment 604384 [details] idea-community soname fixes Here's my first attempt to address this. I still have one library reported as an issue but it a bit strange emerge -p --depclean --ignore-soname-deps=n * x86_64: liblldb.so required by: * dev-util/idea-community-2019.3.193.5233.102-r2 I included dev-util/lldb in RDEPEND Consumers: X86_64;/opt/idea-community-2019.3/plugins/Kotlin/bin/linux/LLDBFrontend;;$ORIGIN/../lib;liblldb.so,libpthread.so.0,libstdc++.so.6,libm.so.6,libgcc_s.so.1,libc.so.6,ld-linux-x86-64.so.2;x86_64 ldd /opt/idea-community-2019.3/plugins/Kotlin/bin/linux/LLDBFrontend <snip> liblldb.so => /usr/lib64/liblldb.so (0x00007fda3359d000) ll /usr/lib64/liblldb.so lrwxrwxrwx 1 root root 12 Jan 25 11:47 /usr/lib64/liblldb.so -> liblldb.so.9
(In reply to Mike Pagano from comment #3) > Created attachment 604384 [details] > idea-community soname fixes LGTM. > Here's my first attempt to address this. I still have one library reported > as an issue but it a bit strange > > emerge -p --depclean --ignore-soname-deps=n > > * x86_64: liblldb.so required by: > * dev-util/idea-community-2019.3.193.5233.102-r2 > > I included dev-util/lldb in RDEPEND > > Consumers: > X86_64;/opt/idea-community-2019.3/plugins/Kotlin/bin/linux/LLDBFrontend;; > $ORIGIN/../lib;liblldb.so,libpthread.so.0,libstdc++.so.6,libm.so.6,libgcc_s. > so.1,libc.so.6,ld-linux-x86-64.so.2;x86_64 > > > > ldd /opt/idea-community-2019.3/plugins/Kotlin/bin/linux/LLDBFrontend > > <snip> > liblldb.so => /usr/lib64/liblldb.so (0x00007fda3359d000) > > ll /usr/lib64/liblldb.so > lrwxrwxrwx 1 root root 12 Jan 25 11:47 /usr/lib64/liblldb.so -> liblldb.so.9 Including dev-util/lldb in RDEPEND seems reasonable.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c88e58d97f2053c1469d92ada83d1cc30f423646 commit c88e58d97f2053c1469d92ada83d1cc30f423646 Author: Mike Pagano <mpagano@gentoo.org> AuthorDate: 2020-01-30 21:00:35 +0000 Commit: Mike Pagano <mpagano@gentoo.org> CommitDate: 2020-01-30 21:00:35 +0000 dev-util/idea-community: Fix all unsatisfied soname dependencies. Remove old. Closes: https://bugs.gentoo.org/704620 Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Mike Pagano <mpagano@gentoo.org> ...d => idea-community-2019.3.193.5233.102-r2.ebuild} | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)