A small post about a bug I had after upgrading yum on AIX on some old servers.

yum issue

It’s really great to have yum available on AIX. It’s making life easier and allows to keep up to date rpm easily but I had a problem last time I upgraded my packages.

Here the error I got:

 yum update
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   Symbol resolution failed for /opt/freeware/lib/libcurl.a(libcurl.so.4) because:
	Symbol SSL_get0_alpn_selected (number 267) is not exported from dependent
	  module /usr/lib/libssl.a(libssl.so).
	Symbol SSL_CTX_set_alpn_protos (number 268) is not exported from dependent
	  module /usr/lib/libssl.a(libssl.so).
	Symbol SSL_COMP_free_compression_methods (number 276) is not exported from dependent
	  module /usr/lib/libssl.a(libssl.so).
Could not load module /opt/freeware/lib/python2.7/site-packages/pycurl.so.
System error: Exec format error
Examine .loader section symbols with the 'dump -Tv' command.

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.13 (default, Oct 17 2017, 05:37:56) [C]

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

This problem is related to the openssl version of the system.

# lslpp -l|grep openssl
  openssl.base             1.0.1.515  COMMITTED  Open Secure Socket Layer
  openssl.man.en_US        1.0.1.515  COMMITTED  Open Secure Socket Layer
  openssl.base             1.0.1.515  COMMITTED  Open Secure Socket Layer

It’s too old. The new version needs to be downloaded on the IBM web site.

Currently the latest version is 1.0.2.1300. Download and uncompress the tar.Z file.

$ uncompress openssl-1.0.2.1300.tar.Z
$ tar -xvf openssl-1.0.2.1300.tar
x openssl-1.0.2.1300
x openssl-1.0.2.1300/openssl.license, 36864 bytes, 72 tape blocks
x openssl-1.0.2.1300/openssl.base, 27254784 bytes, 53232 tape blocks
x openssl-1.0.2.1300/openssl.man.en_US, 3280896 bytes, 6408 tape blocks

Install all the packages:

$ installp -acXYd openssl-1.0.2.1300 all

Update the dependencies for the rpm packages:

$ updtvpkg

And everything should works now:

$ yum upgrade
AIX_Toolbox                                                                                                                                                                                                             | 2.9 kB  00:00:00
AIX_Toolbox_71                                                                                                                                                                                                          | 2.9 kB  00:00:00
AIX_Toolbox_noarch                                                                                                                                                                                                      | 2.9 kB  00:00:00
Setting up Upgrade Process
No Packages marked for Update

That’s all :)