From AIX Open Source Packages

FAQs: FAQs (Frequently Asked Questions)

still in the works, please be patient.....

Table of contents

  1. Compatibility issue with the original AIX Toolbox for Linux Applications
  2. A solution to the RPM dependency hell problem
  3. I am getting an error message that a dependent module /opt/freeware/lib/libintl.a(libintl.so.8) could not be loaded
  4. I need the functionality of gettext >= 0.17
  5. wget gives warning error message about libidn and libiconv
  6. configure does not detect shared library capability on AIX V6.1 and V7.1
  7. Why are you using RPM and not the native AIX BFF package format?

Compatibility issue with the original AIX Toolbox for Linux Applications

Please note: While I strive to keep my RPM packages 100%-compatible with the RPM packages of the AIX Toolbox for Linux Applications there are some things beyond my control.

Whenever the rpm.rte AIX LPP gets updated -- for whatever reason, e.g., a technology level update -- problems may arise if you have installed newer versions of the following three packages from my website:

The main culprit is the gettext package here, I have yet to see an error with bzip2 or zlib. Therefore, if you get the following error message

 ...
 0509-150 Dependent module /opt/freeware/lib/libintl.a(libintl.so.8) could not be loaded.
 0509-152 Member libintl.so.8 is not found in archive
 ...


you are using an old version of that program/package that is still linked against gettext version 0.17:

Explanation: The reason that gettext needs to be re-installed is that whenever the rpm.rte fileset is updated (e.g., new AIX maintenance level etc.), this update blindly overwrites any newly installed versions of those three RPM packages in /opt/freeware/lib.

I consider this behavior completely broken Attach:sad_smiley.gif Δ but there is nothing in my power to change that.

What is especially unfortunate and what I don't understand is why rpm.rte (especially the rpm command) is not compiled with private shared libraries in some private directory -- which would be very easily possible -- and that would not interfere with anything newer installed in /opt/freeware/lib...

Newer versions of rpm.rte at least issue a statement during installation like that:

 Warning: the contents of the following RPM packages will be overwritten.
 If these packages did not come from the AIX Toolbox for Linux Applications,
 it may be necessary to reinstall them.

 bzip2-1.0.5-1
 gettext-0.17-1
 info-4.12-1
 zlib-1.2.3-5



A solution to the RPM dependency hell problem

I guess everybody who has installed a couple of RPM packages using rpm itself and not the help with a tool like yum ran into the following issue:

  1. You have downloaded and want to install RPM aaa.rpm.
  2. aaa.rpm has dependency on bbb.rpm and ccc.rpm.
  3. bbb.rpm has dependency on ddd.rpm and ccc.rpm on eee.rpm and fff.rpm.
  4. etc.

So you end up circling through all your RPM files and downloading all prerequisite RPM files just to install aaa.rpm. This can become quite annoying and time-consuming for packages with lots of dependencies. This is actually where a tool like yum is helping you a lot because it does all the steps outlined above for you. Unfortunately, I have so far found no way of compiling and providing YUM for AIX that could be done in a compatible manner (to the IBM provided RPM) as AIX still uses the old V3.0.5 version of RPM while all RPM-based Linux distributions have switched to RPM V4.X a long time ago. Also all recent YUM versions require at least a RPM version >= 4.4.

My solution approach to this problem

Available RPM dependency lists

I have generated (with the help of some scripts) dependency lists for the latest and fully compatible binary RPMs for the following AIX versions:

FTP downloadHTTP download
AIX5L v5.1AIX5L v5.1
AIX5L v5.2AIX5L v5.2
AIX5L v5.3AIX5L v5.3
AIX v6.1AIX 6.1
AIX v7.1AIX 7.1


You have exactly one list for each binary RPM file and the naming convention is as follows:
If the RPM file is called aaa.aix5.1.ppc.rpm then the dependency list file is named aaa.aix5.1.ppc.deps, i.e., the extension .rpm is replaced with .deps.

Downloading RPMs contained in a RPM dependency list

 # either download with FTP protocol
 while read i; do
     wget ftp://www.oss4aix.org/everything/RPMS/${i}
 done < aaa.aix5.1.ppc.deps


 # or download with HTTP protocol
 while read i; do
     wget http://www.oss4aix.org/download/everything/RPMS/${i}
 done < aaa.aix5.1.ppc.deps


Please note: While the command above shows what intended action are, a better alternative (no loop at all) would be to combine wget's -B and -i switches:

 # either download with FTP protocol
 wget -B ftp://www.oss4aix.org/everything/RPMS/ -i aaa.aix5.1.ppc.deps

 # or download with HTTP protocol
 wget -B http://www.oss4aix.org/download/everything/RPMS/ -i aaa.aix5.1.ppc.deps


Combining RPM dependency lists

So what do you have to do if you want to combine multiple RPM dependency lists into one, e.g., you want a combined list for Apache and PHP. Those are the required steps (in the example I use AIX 6.1 and please note that the exact version numbers might vary):

 cat httpd-2.4.3-1.aix5.1.ppc.deps mod_php_ap24-5.4.6-1.aix5.1.ppc.deps | sort | uniq > httpd+php.deps



I am getting an error message that a dependent module /opt/freeware/lib/libintl.a(libintl.so.8) could not be loaded

In this case you are still using an old version of the program/package that is producing this error message. Please download and install a newer version of that package. All packages released since July 2009 are linked against the older gettext version 0.10.40 so that error message can not occur anymore.


I need the functionality of gettext >= 0.17

No, you don't.
If you really need functionality of gettext >= 0.10.40 (the version compatible with the original AIX Toolbox for Linux applications) you should install the gettext-progs package that provides the binaries of gettext which are statically linked in order to avoid this error message.


wget gives warning message about libidn and libiconv

wget produces a warning message similar to this one:

 # wget <URI>
 ...
 libidn: warning: libiconv not installed, cannot convert data to UTF-8
 ...


Starting with version 1.12 GNU wget added support for Internationalized Resource Identifiers (IRIs, RFC 3987). When support is enabled (requires GNU libidn and GNU libiconv), links with non-ASCII bytes are translated from their source encoding to UTF-8 before percent-encoding. This requires also libidn to be compiled with GNU libiconv support which was not the case before.
This is now fixed in wget versions starting with:


configure does not detect shared library capability on AIX V6.1 and V7.1

If configure shows the following output lines

 ...
 checking whether to build shared libraries... no
 checking whether to build static libraries... yes
 ...


then you must be alerted because then in the earlier output you should have seen the following lines:

 ...
 checking build system type... rs6000-ibm-aix
 checking host system type... rs6000-ibm-aix
 ...


In this case you should check the following items:



Why are you using RPM and not the native AIX BFF package format?

To be completed....

Retrieved from http://www.perzl.org/aix/index.php?n=FAQs.FAQs
Page last modified on November 05, 2013, at 02:42 PM