FAQ:Determine Dependencies for Installed Software
From rPath Wiki
| FAQ | ||
| Question: How can I determine the dependencies for installed software? | ||
Answer: Use --deps with conary query to display a trove's dependency-related information:
$ conary q openssl:lib --deps
openssl:lib=0.9.7f-10-0.1[is: x86(~!i686)]
Provides:
trove: openssl:lib
soname: ELF32/libcrypto.so.5(SysV x86)
soname: ELF32/libssl.so.5(SysV x86)
Requires:
abi: ELF32(SysV x86)
trove: openssl:config
trove: openssl:data
soname: ELF32/libc.so.6(GLIBC_2.0 GLIBC_2.1 GLIBC_2.1.3 GLIBC_2.3 SysV x86)
soname: ELF32/libcom_err.so.3(SysV x86)
soname: ELF32/libcrypto.so.5(SysV x86)
soname: ELF32/libdl.so.2(GLIBC_2.0 GLIBC_2.1 SysV x86)
soname: ELF32/libgssapi_krb5.so.2(SysV x86)
soname: ELF32/libk5crypto.so.3(SysV k5crypto_3_MIT x86)
soname: ELF32/libkrb5.so.3(SysV krb5_3_MIT x86)
soname: ELF32/libresolv.so.2(SysV x86)
soname: ELF32/libz.so.1(SysV x86)
Dependency-related information is divided into two sections:
- A provides section listing all the dependencies that the trove makes available
- A requires section listing all the dependencies that must be met for the trove to operate properly
The dependency-related information can include:
- Filenames
- Trove names
- User-related information
- Group-related information
- Java dependencies
- Perl dependencies
- Python dependencies
- Application binary interface (ABI) specifications
- Soname specifications for shared libraries
Use --file-deps with conary query to displays the individual provides and requires for each file:
$ conary q openssl:lib --file-deps
/lib/libcrypto.so.0.9.7f
Provides:
soname: ELF32/libcrypto.so.5(SysV x86)
Requires:
abi: ELF32(SysV x86)
soname: ELF32/libc.so.6(GLIBC_2.0 GLIBC_2.1 GLIBC_2.1.3 GLIBC_2.3 SysV x86)
soname: ELF32/libdl.so.2(GLIBC_2.0 GLIBC_2.1 SysV x86)
soname: ELF32/libz.so.1(SysV x86)
/lib/libssl.so.0.9.7f
Provides:
soname: ELF32/libssl.so.5(SysV x86)
Requires:
abi: ELF32(SysV x86)
soname: ELF32/libc.so.6(GLIBC_2.0 GLIBC_2.1.3 SysV x86)
soname: ELF32/libcom_err.so.3(SysV x86)
soname: ELF32/libcrypto.so.5(SysV x86)
soname: ELF32/libdl.so.2(SysV x86)
soname: ELF32/libgssapi_krb5.so.2(SysV x86)
soname: ELF32/libk5crypto.so.3(SysV k5crypto_3_MIT x86)
soname: ELF32/libkrb5.so.3(SysV krb5_3_MIT x86)
soname: ELF32/libresolv.so.2(SysV x86)
soname: ELF32/libz.so.1(SysV x86)
/usr/lib/libcrypto.so.5
/usr/lib/libssl.so.5
If a file has no dependencies, none will be listed. In this example, the files /lib/libcrypto.so.0.9.7f and /lib/libssl.so.0.9.7f have some provides and requires listed, and the files /usr/lib/libcrypto.so.5 and /usr/lib/libssl.so.5 have no dependencies.
