Large Open Source Software Archive for AIX

We have moved to a new VM. If you experience any unexpected issue, please warn us through the Contact page.


This site contains a collection of open source and GNU (R) software packages built for AIX 5L, AIX 6, and AIX 7.
Some of these packages (like GCC and GCC-related) have one package per AIX version but in most cases, a package built for an AIX release (5.3 or 6.1) will also run on upper releases. We now build mainly on AIX 6.1, no more on AIX 5.3 .
Packages for AIX N do not run on lower versions (e.g. packages for AIX 7.1 do not run on AIX 6.1 or on 5.3).

The Open Source Packages for AIX will help compiling and packaging Linux applications on AIX systems, developing new applications for AIX using the GNU environment, and running popular software provided in Linux distributions such as:

These packages also provide a set of tools both for Linux appplication developers and Linux system administrators.
All packages are built using the RPM format.

Some open source licenses (such as GPL) require that we also make the source available.
Only sources for packages with licenses requiring source redistribution are found on this site.

2018-Oct 25th: Python v3
- Version 3.6.5-1 of Python3 had an issue in 64bit. Like: ImportError: Could not load module /opt/freeware/lib/python3.6/lib-dynload/math.so .
This was due to a patch missing, leading to Python 64bit looking for 32bit .so files.
This is fixed in version 3.6.5-2 .

2018-Oct 25th: Python v3 and libffi.
- Python v3 requires libffi. However, a version libffi-20170516 has been published and is ALWAYS at top of list on BullFreeware web-site. This prevent to see or to have in the .zip file the better libffi v3.2.1 which contains symbols like _GLOBAL__AIXI_libffi_so which are missing in 20170516 version. Such recent version of libffi is required by recent version of Python3.
- Solution: please replace old libffi 2017... by recent 3.2.1 . - libffi-20170516 is removed from Bull-Freeware. If you have any issue, please contact me. - Change: Issue should be fixed in next release Python3 3.6.5-2 .

2018-October 3th: Official version v1.11.1 of golang is available.

2018-Sept 28th: file & file-libs RPMs issue
- file & file-libs RPMs version 5.32 are not compatible with version 5.12, which is used by the rpm/rpmbuild commands of RPM v4.13.0.1. Thus, installing the version 5.32 of file & file-libs packages break some features of rpm/rpmbuild commands (like rpmbuild looping infinitely just before generating the RPMs or like internal % RPM variables loosing their value). So, it is recommended, on AIX version using RPM v4 (like AIX 7.2 TL2), to NOT install version 5.32 of file & file-libs packages. The issue appears either with BullFreeware or AIX ToolBox file & file-libs RPMs. This issue does not appear on machines still using RPM v3.

2018-Sept 7th: Python v2 and UCS2/UCS4.
- From Python v2.7.12-2 to v2.7.15-3 , we have used unicode=ucs4 instead of ucs2 . For those using Python modules, that should generate issues at execution. We are now back to unicode=ucs2 with Python v2.7.15-4 .

2018-August 30th: Official Beta version of golang v1.11 is available here: "golang 1.11"

2018-August 10th: Beta version of golang v1.11 (now rc3) is available here: "golang 1.11" but is deprecated now.

2018-August 10th: christoher@atfrw1vp.localdomain : please use a valid email address when sending a message

2018-July 5th: Compatibility with IBM LPP OpenSSL.
- IBM has recently updated/fixed its version of the openssl.base LPP: version 1.0.2.1500 (1.0.2o) .
- This LPP delivers the OpenSource-named shared object files libssl.so.1.0.2 & libcrypto.so.1.0.2 (32 & 64bit), which is compatible with BullFreeware RPMs.
- This LPP is available from IBM page "AIX Web Download Pack Programs" .
Pick: OpenSSL "Version 1.0.2.x" and install it ("smitty install").
- This will fix the cases where LIPATH cannot solve interlaced requirements of libraries existing in both AIX and /opt/freeware, where libssl.a or libcrypto.a are involved.

2018-June 22th: GCC Go 8.1.0 release 2 delivered for AIX 7.2..
- Fix the semsleep:32bit/64bit issue
- Fix the -static-libgcc and -static-libgo issues
- Should fix the netpoll issue with high CPU consumption

2018-May 31th: Compatibility between AIX ToolBox and BullFreeware. Mixing RPMs from IBM AIX ToolBox and from BullFreeware is not easy, when possible. We plan to improve compatibility in 2H2018.
When you have the AIX Loader complaining like:
Could not load program ....
Could not load module /opt/freeware/lib64/libXYZ.a(libXYZ.so.2).
Dependent module libXYZTU.a(libXYZTU.so.5) could not be loaded.
Try: LIBPATH=/opt/freeware/lib64:/opt/freeware/lib:/usr/lib

2018-May 31th: Compatibility about OpenSSL libs between AIX and BullFreeware.
The IBM official LPP openssl.base delivers the /usr/lib/libssl.a and /usr/lib/libcrypto.a libraries, from OpenSSL project. However, up to now, the current version 1.0.2 was still delivered in the libssl.so.1.0.0 and libcrypto.so.1.0.0 files, which have a name incompatible with what the OpenSource world, and BullFreeware, deliver: lib*.so.1.0.2 .
Starting recently, they have decided to be more compatible. They now deliver the most recent versions of OpenSSL 1.0.2 in both files lib*.so.1.0.0 and lib*.so.1.0.2 , contained in file /usr/lib/lib*.a . This way, any executable/library provided by BullFreeware which requires libssl.a or libcrypto.a is now compatible with the IBM official libcrypto and libssl files.
This IBM new version of OpenSSL can be got from (you need to have/create an "IBM ID"):
https://www-01.ibm.com/marketing/iwm/iwm/web/reg/pick.do?source=aixbp&lang=en_US
Take: OpenSSL 1.0.2 for AIX 5.3, 6.1, 7.1 & 7.2
version >= 1.0.2.1500 (1.0.2o)
openssl-1.0.2.1500.tar.Z (34745160)
They now deliver:
# ar tv /usr/lib/libcrypto.a
rwxr-xr-x 0/0 3050171 Jan 7 07:55 2018 libcrypto.so
rwxr-xr-x 0/0 2186744 Jan 7 07:55 2018 libcrypto.so.0.9.8
rwxr-xr-x 0/0 3050171 Jan 7 07:55 2018 libcrypto.so.1.0.0
rwxr-xr-x 0/0 3050171 Jan 7 07:53 2018 libcrypto.so.1.0.2
where libcrypto.so libcrypto.so.1.0.0 and libcrypto.so.1.0.2 all contain the same 1.0.2o version.
We deliver:
# ar tv /opt/freeware/lib/libcrypto.a
rwxr-xr-x 0/0 3639477 Jan 27 09:15 2017 libcrypto.so.1.0.2
rw-r--r-- 0/0 2012251 Jan 27 09:18 2017 libcrypto.so.0.9.7
rw-r--r-- 0/0 2491620 Jan 27 09:18 2017 libcrypto.so.0.9.8
rwxr-xr-x 0/0 2920785 Jan 27 09:18 2017 libcrypto.so.1.0.0
rwxr-xr-x 0/0 3486254 Jan 27 09:18 2017 libcrypto.so.1.0.1
where libcrypto.so.1.0.2 contains the most recent version of OpenSSL libcrypto 1.0.2 series. Other versions (0.9.7, 0.9.8, 1.0.0, 1.0.1) provide compatibility for very old executables.

Mixing libraries from BullFreeware and libraries from AIX may lead to issues, due to the strict behavior of the AIX loader.
When an executable/library built by BullFreeware and using openssl is loaded, the AIX loader searches for libssl.a(libssl.so.1.0.2).
If /usr/lib/libssl.a is find first, with older versions of IBM AIX OpenSSL openssl.base LPP, then libssl.so.1.0.2 looks missing and, since the AIX loader, once he has found libssl.a in the LIBPATH, does not continue the search in other paths of LIBPATH but stops, the launch of the executable failed.
Now, that should work better.
One can have a look at what the AIX loader will do by using the "ldd" command or the "dump -Hv executable|library". See the "PATH" column, line 0. Use -X64 for 64bit files.

A work-around for older IBM LPP openssl.base is to add the BullFreeware libssl.so.1.0.2 file, extracted from /opt/freeware/lib/libssl.a, to /usr/lib/libssl.a . Same for 64bit, and same for libcrypto.so.1.0.2 .

We still have an issue with our openssl 1.0.2 versions, which were linked with -expall, like Perzl does, which means that our libssl.a library delivers symbols like strcpy, which add some mess. This has been fixed with openssl 1.1.0 (no more use of -expall). .

2018-May: GCC 8.1.0 for AIX 6.1, 7.1, and 7.2 has been delivered .

2018-May 14th: GCC 8.1.0 with Go v1.10 for AIX 7.1 and 7.2 has been delivered .

2018-April 11th: Update of GCC Go 8.0.1-20180305 with Go v1.10 for AIX 7.1 and 7.2 .

2018-January 18th: Update of GCC Go 8.0.0-20171205.aix7.2 . Builds Kubernetes/Kubelet/Telegraf/Hyperledger/FileBeat ...


2018-January 17th: A version 0.19.8 of gettext package has been uploaded on BullFreeware. This version was quickly replaced by 0.19.8.1 by gettext project. However, version 0.19.8 introduced new versions of libintl.so (libintl.so.9) and of other .so files that have been abandonned by version 0.19.8.1 . However, we have already built and uploaded several packages (gnupg2, krb5, libgpg, posgresql, python, python3, glib2, gnutls, guile) that now depend on libintl.so.9, which is wrong. I plan to upload gettext 0.19.8.1, without support of 0.19.8 and libintl.so.9 soon, and I am rebuilding the packages from the above list, with issues. If you encounter the message: "libintl.a(libintl.so.9) is needed by ..." or "libintl.a(libintl.so.8) is needed by ...", you have reached the mess. The solution is to put in /opt/freeware/lib/libintl.a both libintl.so.8 and libintl.so.9 and (since dependencies are done by RPM based on data in its database rather than looking at the files) you'll have to use --nodeps (only when the last error message is: libintl.a(libintl.so.8/9) is needed by ...". Example:
cd /tmp ; mkdir -p opt/freeware/lib/
rpm2cpio gettext-0.19.8-1.aix6.1.ppc.rpm | /opt/freeware/bin/cpio -iv opt/freeware/lib/libintl.a
--> opt/freeware/lib/libintl.a
# ar xv opt/freeware/lib/libintl.a libintl.so.9
x - libintl.so.9
# ar q /opt/freeware/lib/libintl.a libintl.so.9
# ar -X64 xv opt/freeware/lib/libintl.a libintl.so.9
x - libintl.so.9
# ar -X64 q /opt/freeware/lib/libintl.a libintl.so.9
So, file /opt/freeware/lib/libintl.a contains file libintl.so.9 . However RPM relies only on its information stored in its DataBasePM.
So, we still have the error message:
# rpm -i postgresql-10.1-2.aix7.2.ppc.rpm
error: Failed dependencies:
libintl.a(libintl.so.9) is needed by postgresql-10.1-2.ppc
You have to do:
# rpm -i --nodeps postgresql-10.1-2.aix7.2.ppc.rpm

I'm working on fixing this mess.


2018-January 17th: We are focused on PostgreSQL and GCC 8 (with Go v1.10) now.

2018-January 17th: Snapshot RPMs for GCC 8 with Go are available at: GCC Go for AIX 7.2 . They are not maintained till GCC 8 is officially available. For now, it is Go v1.9 .


2016-August 18th: Up to now, we tried to use the XLC compiler (v12 or v13) rather than GCC (4.8.4 or higher) for building the packages. Starting from now, we'll try to use GCC before using XLC, IFF the quality is the same for sure. And some packages do require GCC or XLC.

2016-August 18th: How to proceed when the package you need depends on GCC libs and when you plan to install on AIX 7.1 (or 7.2) and not on AIX 6.1 ?!?
The tool which provides a list of the dependent packages to be downloaded (one by one or by means of the .zip file) does help a lot but is far not perfect. So, if you want to install a package on a AIX 7.1 or 7.2 machine, you must take all the required packages that are available for a version of AIX <= 7.1 (in general : AIX 6.1) EXCEPT for the GCC and GCC-related packages (libstdc++, libgcc, ...) which MUST have the version of your machine (AIX 7.1 or 7.2). This is due to the fact that the GCC compiler depends on the include .h files and on some lib*.a files delivered on the version of AIX and that they MUST be of the same AIX version than the machine you want to install them on.
Example: Let say you want to install "git", which depends on many other packages including libgcc and libstdc++. For sure, you do not need the GCC compiler but, when we built git, the build process made use of some useful parts of libgcc and libstdc++. So, if you want to install "git" git-2.8.2-1.aix6.1.ppc.rpm (built on AIX 6.1) on a AIX 7.1 machine, you need : libstdc++-6.1.0-5.aix7.1.ppc.rpm and libgcc-6.1.0-5.aix7.1.ppc.rpm rather than the aix6.1 version proposed by our tool to be downloaded.
We hope to be able to improve this by adding some feature to our web-site, some day.

Also, please note that our tool nearly always proposes the LAST version (on AIX 6.1) of the dependent packages (except if package contains "Requires" instructions for older versions). Since we manage compatibility with older versions of many of our packages, this last version should contain old libs (.so files in .a files) that are required by older versions of other packages installed on your machine, so that you should not face an issue when 2 tools require 2 different versions of a common dependency. In case that occurs, please warn us.

2016-June 8th: More statistics are available at: New Statistics.

GCC & 64bit WARNING:

2016-June 8th: If you use GCC AND 64bits, you should move to last release of each version of GCC (when available):
GCC 6.1.0-5 - GCC 5.4.0-2 - GCC 4.8.5-5 - GCC 4.8.4-6

(Though we try to use IBM XLC first, we also use GCC, mainly version 4.8.4).

WARNING:

2016-September 22th: OpenSSL: New versions 1.1.0a, 1.0.2i, 1.0.1u are now available.

2016-August 31th: OpenSSL: New version 1.1.0 is now available.

2016-May 10th: OpenSSL security vulnerability. Use OpenSSL packages versions 1.0.1t and 1.0.2h.
See: OpenSSL Security Advisory [3rd May 2016] .

2016-April 20th: GZIP: New version 1.6-2 . Previous version deleted /usr/bin/uncompress from AIX LPP, thus creating an issue at AIX reboot. Update !

2016-April 12th: SAMBA: New security version 4.3.8 . See: Release Notes for Samba 4.3.8 .

2016-March 1st: OpenSSL security vulnerability with SSLv2 and EXPORT. Use OpenSSL packages versions 1.0.1s and 1.0.2g.
See: CVE-2016-0800 . See: OpenSSL 2016-03-01 .
Please update with: latest version 1.0.1s , and: latest version 1.0.2g .

2016-February : OpenSSL packages versions 1.0.1 upto 1.0.1q and 1.0.2 upto 1.0.2e contain an OpenSSL security vulnerability.
See: CVE Mentioned in Article about Two OpenSSL Vulnerabilities on InfoWorld .
If you have downloaded one of these versions, please update with: latest version 1.0.1r , and: latest version 1.0.2f .

OpenSSL packages versions 1.0.1 upto 1.0.1f contain an OpenSSL security vulnerability.
See: CVE-2014-0160 .
If you have downloaded one of these versions, please update with the latest version 1.0.1g .

Issue affecting OpenSSL versions 1.0.2c, 1.0.2b, 1.0.1n and 1.0.1o :
See: CVE-2015-1793 .
OpenSSL 1.0.2b/1.0.2c users should upgrade to 1.0.2d .
OpenSSL 1.0.1n/1.0.1o users should upgrade to 1.0.1p .

Bash package versions 4.2-7 has been upgraded to 4.2-9 including bash shell vulnerability patches .
See: CVE-2014-6271 .
CVE-2014-7169 .


BROWSE RPM...