Bug 1273803 - /usr/lib/rpm/find-requires --requires ignores some deps
/usr/lib/rpm/find-requires --requires ignores some deps
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: rpm (Show other bugs)
22
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: packaging-team-maint
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 1273515
  Show dependency treegraph
 
Reported: 2015-10-21 05:27 EDT by Tomas Mlcoch
Modified: 2015-10-21 18:38 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-10-21 18:38:37 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Tomas Mlcoch 2015-10-21 05:27:01 EDT
$ ldd /usr/lib64/python2.7/site-packages/librepo/_librepomodule.so
        linux-vdso.so.1 (0x00007fffc0bc4000)
        librepo.so.0 => /lib64/librepo.so.0 (0x00007f3f26423000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f3f261f9000)
        libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f3f25f82000)
        libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f3f25bb9000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f3f257d1000)
        libgpgme.so.11 => /lib64/libgpgme.so.11 (0x00007f3f25598000)
        libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f3f25386000)
        libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f3f2504c000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3f24e34000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3f24a74000)
        libidn.so.11 => /lib64/libidn.so.11 (0x00007f3f24840000)
        libssh2.so.1 => /lib64/libssh2.so.1 (0x00007f3f24615000)
        libssl3.so => /lib64/libssl3.so (0x00007f3f243d3000)
        libsmime3.so => /lib64/libsmime3.so (0x00007f3f241ac000)
        libnss3.so => /lib64/libnss3.so (0x00007f3f23e85000)
        libnssutil3.so => /lib64/libnssutil3.so (0x00007f3f23c59000)
        libplds4.so => /lib64/libplds4.so (0x00007f3f23a55000)
        libplc4.so => /lib64/libplc4.so (0x00007f3f2384f000)
        libnspr4.so => /lib64/libnspr4.so (0x00007f3f23611000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3f233f5000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f3f231f0000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f3f22fa3000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f3f22cbe000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f3f22a8a000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f3f22886000)
        liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f3f22677000)
        libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f3f22424000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f3f2220e000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007f3f2200b000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f3f21d02000)
        libassuan.so.0 => /lib64/libassuan.so.0 (0x00007f3f21af0000)
        /lib64/ld-linux-x86-64.so.2 (0x000055e98cc08000)
        libssl.so.10 => /lib64/libssl.so.10 (0x00007f3f21880000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f3f21678000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f3f21468000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f3f21264000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f3f21049000)
        libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f3f20e2b000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3f20c07000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f3f209d0000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f3f20760000)
        libfreebl3.so => /lib64/libfreebl3.so (0x00007f3f204e3000)


$ echo "/usr/lib64/python2.7/site-packages/librepo/_librepomodule.so" | /usr/lib/rpm/find-requires --requires
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libcrypto.so.10()(64bit)
libcurl.so.4()(64bit)
libexpat.so.1()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcc_s.so.1(GCC_3.3.1)(64bit)
libglib-2.0.so.0()(64bit)
libgpg-error.so.0()(64bit)
libgpgme.so.11()(64bit)
libpython2.7.so.1.0()(64bit)
librepo.so.0()(64bit)
python(abi) = 2.7
rtld(GNU_HASH)
 
Example of missing dep: libidn.so.11
Comment 1 Michael Schwendt 2015-10-21 18:38:37 EDT
Oops, I've commented on the wrong ticket. Copying from bug 1273515 comment 3:

[...]

Probably not a bug, since both rpmdeps -R and elfdeps -R find the same libs. Plus:

$ eu-readelf --dynamic  /usr/lib64/python2.7/site-packages/librepo/_librepomodule.so |grep NEEDED|sort
  NEEDED            Shared library: [libc.so.6]
  NEEDED            Shared library: [libcurl.so.4]
  NEEDED            Shared library: [libexpat.so.1]
  NEEDED            Shared library: [libglib-2.0.so.0]
  NEEDED            Shared library: [libgpg-error.so.0]
  NEEDED            Shared library: [libgpgme.so.11]
  NEEDED            Shared library: [libpython2.7.so.1.0]
  NEEDED            Shared library: [librepo.so.0]

Doesn't look as if there's a direct dep on libidn, and it's only libcurl that's linked with it.

# rpm -q --whatrequires 'libidn.so.11()(64bit)'
wget-1.16.3-1.fc22.x86_64
iputils-20140519-4.fc22.x86_64
dnsmasq-2.72-3.fc22.x86_64
libidn-1.32-1.fc22.x86_64
libpurple-2.10.11-12.fc22.x86_64
hesiod-3.2.1-4.fc22.x86_64
bind-utils-9.10.2-5.P4.fc22.x86_64
systemd-219-24.fc22.x86_64
libcurl-7.40.0-7.fc22.x86_64
gnutls-utils-3.3.18-1.fc22.x86_64

[...]

I'd say the user (and fellow contributor) somehow managed to break the installation by ending up without libidn.x86_64. It is not needed by python-librepo directly, but by libcurl *and* systemd (!), which clearly depend on the SONAME correctly.

Sorry for pointing into the wrong direction. It's too easy to forget that ldd is too much for examining problems like this.

Note You need to log in before you can comment on or make changes to this bug.