AIX Open Source

 View Only

AIX Open Source Support Tips - Resolving AIX file dependency errors

By Jan Harris posted Mon April 18, 2022 11:12 AM

  
The following is an example of an installation failure due to a missing file.
#dnf install iperf3

Error: Problem: cannot install the best candidate for the job 
- nothing provides libsctp.a(shr.o) needed by iperf3-3.10.1-1.ppc 
- nothing provides libsctp.a(shr_64.o) needed by iperf3-3.10.1-1.ppc

1) Question: Is libsctp.a from the AIX Toolbox?

Answer:  No. When AIX Toolbox packages are missing Toolbox packages, you will see version requirements listed.


# rpm -ivh curl-7.79.1-1.aix6.1.ppc.rpm
error: Failed dependencies:
ca-certificates >= 2020.06.01 is needed by curl-7.79.1-1.ppc
krb5-libs >= 1.18.3 is needed by curl-7.79.1-1.ppc
       ^^^^
 --> libcom_err.a(libcom_err.so) is needed by curl-7.79.1-1.ppc
libgcc >= 8.3.0 is needed by curl-7.79.1-1.ppc
       ^^^^
 --> libgcc_s.a(shr.o) is needed by curl-7.79.1-1.ppc​


 2) Question: How can I resolve this dependency?


Answer:  The example libsctp.a library is provided by the AIX bos.net.sctp file set. This file set is part of the bos.net package. This is available on AIX base media.
After installing an AIX file set, you will need to run /usr/sbin/updtvpkg to update the AIX-rpm virtual package, so rpm will know about the library. If the file set is already installed, run /usr/sbin/updtvpkg again.


3)  Question:  How can I validate the dependency?

Answer: 
After the AIX-rpm package is updated with updtvpkg, you can list the library with the rpm command:

# rpm -q AIX-rpm --provides | grep libsctp.a

libsctp.a(shr.o)
libsctp.a(shr_64.o)
3 comments
148 views

Permalink

Comments

Mon November 07, 2022 05:34 PM

Hi, @Mario Stargard​.  This is a good question! 
I think this is a question best answered in an AIX Open Source Community discussion.  If you prefer, I can initiate the discussion, but then you would not get notifications. Let me know. 

Wed November 02, 2022 12:35 PM

What version of AIX are these rpm repo's built against?

This is a key question because unresolved dependencies like the one for openssl 1.1.1 demonstrate that the rpm's in the repos are built against an OS that doesn't exist yet. No version of AIX with complete fixpacks provides this yet. Presumably that will happen in late December or early January according to the release schedule for AIX fixes.

These OSS repos have the same problem that the Fedora EPEL faces with CentOS 8 Stream being upstream from Red Hat 8. In that case, the developers have created a "next" repo that contains what you need to resolve the dependencies for CentOS 8 Stream vs. a downstream distro.

I've seen mention of pulling individual packages into the LPP sources to satisfy these dependency shortcomings in the OSS repos, but how would we know which ones we need? Trial and error are precisely the reason we adopted dnf/yum in the first place. Is there a better way to do this?

Sat October 22, 2022 03:50 AM

NOTE:  krb5-libs-1.18.5-1.ppc and openldap-2.4.58-4.ppc requires openssl 1.1

# dnf update
AIX generic repository 11 kB/s | 2.7 kB 00:00
AIX noarch repository 9.9 kB/s | 2.6 kB 00:00
AIX 7.2 specific repository 11 kB/s | 2.7 kB 00:00
Error:
Problem 1: cannot install the best update candidate for package krb5-libs-1.18.5-1.ppc
- nothing provides libcrypto.a(libcrypto.so.1.1) needed by krb5-libs-1.18.5-2.ppc
- nothing provides libssl.a(libssl.so.1.1) needed by krb5-libs-1.18.5-2.ppc
Problem 2: cannot install the best update candidate for package openldap-2.4.58-3.ppc
- nothing provides libcrypto.a(libcrypto.so.1.1) needed by openldap-2.4.58-4.ppc
- nothing provides libssl.a(libssl.so.1.1) needed by openldap-2.4.58-4.ppc
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Download the latest available "OpenSSL or OpenSSH n.n.n" for your AIX version from the following download links:  

Refer to