AIX Toolbox for Linux Applications README Oct 20, 2016 ================================================================================ The freeware packages ("Code") provided here are distributed by IBM as a convenience to our customers. IBM does not own the Code, and did not develop or exhaustively test the Code. IBM does not provide support for the Code. IBM has compiled the Code so that it will run with AIX 6.1 and/or AIX 7.1 and/or AIX 7.2 and/or later. Each Code package is distributed by IBM subject to the terms of the license that is included in the Code package. IBM has extracted the license information associated with the Code packages for viewing convenience, but in all cases the actual licenses delivered with the Code package govern the use of the Code package. By downloading a particular package you agree to accept and comply with the license terms that accompany such package. No Warranty: The Code is provided by IBM "AS IS." TO THE EXTENT PERMITTED BY APPLICABLE LAW, IBM MAKES NO WARRANTIES OR CONDITIONS EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY WARRANTY OF NON-INFRINGEMENT AND THE IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE REGARDING THE CODE OR TECHNICAL SUPPORT, IF ANY. This exclusion also applies to any of IBM's subcontractors, suppliers, or program developers (collectively called "Suppliers"). Limitation of Liability: NEITHER IBM NOR ITS SUPPLIERS ARE LIABLE FOR ANY DIRECT OR INDIRECT DAMAGES, INCLUDING WITHOUT LIMITATION, LOST PROFITS, LOST SAVINGS, OR ANY INCIDENTAL, SPECIAL, OR OTHER ECONOMIC CONSEQUENTIAL DAMAGES, EVEN IF IBM IS INFORMED OF THEIR POSSIBILITY. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE EXCLUSION OR LIMITATION MAY NOT APPLY TO YOU. ================================================================================ Information on the Web For any questions to the IBM Development team about packages in the AIX Toolbox for Linux Applications ("the Toolbox"), an "AIX Open Source Software Forum" is available on IBM developerWorks: https://www.ibm.com/developerworks/community/forums/html/forum?id=2eb0f36d-9534-471b-8b27-c21e6c5b9b2b We will answer what we reasonably can, but keep in mind that we don't own the packages or formally support them. For true expertise in usage of each package, you may also want to consult the community for each respective package. New software and new versions of existing software will become available on a regular basis. The new files can be accessed via the AIX Toolbox web site at http://www.ibm.com/systems/power/software/aix/linux/toolbox/download.html. Only the most current versions are available for download through the web site. Older versions are retained, though not necessarily permanently, on the http archive at https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox. Instead of downloading from the web page, it is easier to install/update packages through YUM, refer to "Toolbox Installation Instructions" section below. ================================================================================ Testing Statement The software in the Toolbox is "as-is" and does not receive the extensive testing as AIX software, nor does the software necessarily have the same degree of support for standards, internationalization, accessibility, scalability as found with AIX software. ================================================================================ CONTENTS Included in this delivery are the RPM package manager (RPM), compilers (gcc and g++), a substantial number of GNU utilities, and many other useful utilities, applications, shells, libraries, and languages. The current list of available packages may be found in the CONTENTS file in the top-level directory of the Toolbox (either on CD or at the http site). Included in this README are: Toolbox Installation Instructions Installing Additional Software Some known problems Other Packages (not on the CD) 64-bit libraries Building against many libraries requires the use of run-time linking (-rtl) How to report problems How to submit suggestions AIX/Linux API and Commands Differences Build Environment Used to Produce Toolbox Applications Frequently Asked Questions ================================================================================ Toolbox Installation Instructions NOTICE: These instructions pertain to AIX 6.1 and later. Updated packages are not being built for older AIX operating system versions. You must have root authority to install Toolbox packages. rpm.rte is automatically installed as part of your AIX installation along with other utilities which came from the Toolbox: cdrecord (CD creation), and mkisofs (makes CD filesystems). You should have at least 10MB free for the RPM database in /usr to install any packages. If you install everything, you will require about 2GB free space in /opt/freeware. More importantly, you will also require approximately 50 MB free space in /usr for the RPM database (in /usr/opt/freeware/packages). 1. Installing the RPM Package Manager: rpm.rte is automatically installed with AIX. If you have deinstalled it and wish to install it again: From unmounted CD: installp -qaXgd /dev/cd0 rpm.rte From mounted CD: installp -qaXgd /INSTALLP/ppc rpm.rte From web: ftp ftp.software.ibm.com Name> ftp Password> your e-mail address ftp> cd aix/freeSoftware/aixtoolbox/INSTALLP/ppc ftp> binary ftp> get rpm.rte ftp> quit installp -qaXgd rpm.rte rpm.rte 2. Installing packages using YUM: yum is rpm package manager, it allows automatic package installation, updates and dependency management. To install yum on AIX please go through README-yum from following location https://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/README-yum Once you have setup yum then you can list packages using yum list To install a package using yum yum install To update a package using yum yum update To remove a package using yum yum remove 3. Installing packages using AIX toolbox CD: a) Create the installation directory: As the root user: Create a directory on your system to access the Toolbox software, either for mounting the CD or downloading the software from the web. The following sequence of instructions will mount a CD on /dev/cdrom: umask 022 mkdir -p /mnt/cdrom || : mount -vcdrfs -oro /dev/cd0 /mnt/cdrom If you have more than one CD device, the device name may be different. b) Accessing Software License Information: CD: You may view extracted licenses associated with the available packages by mounting the Toolbox CD and pointing to /LICENSES/index.html from the CD mount point. For example, if you mount the cd on /mnt/cdrom, then you would open file:/mnt/cdrom/LICENSES/index.html from your browser. Web: See http://www.ibm.com/systems/power/software/aix/linux/toolbox/download.html. c) Installing additional required AIX software: Some Toolbox packages require AIX software which is not installed by default with AIX. You will need to install that support in order to install those Toolbox packages. d) At this point you may install the RPM packages in which you are interested using rpm command. rpm -Uhv ================================================================================ Installing Additional Software Quick guide to RPM: To install: rpm -i To upgrade (works for install as well): rpm -U To remove/deinstall: rpm -e # As in foo, not foo.ppc.rpm To query an installed package: rpm -q To query all installed packages: rpm -qa To list files in a package: rpm -ql To list requirements for a package: rpm -q --requires To find package providing requirements: rpm -q --whatprovides To query an uninstalled RPM: rpm -qp To get help: rpm --help Most RPM commands can be applied to an uninstalled binary RPM package file by use of the -p argument. For more information on using RPM to install and build packages, see the rpm website at http://www.rpm.org and in particular see the online version of "Maximum RPM," by Edward Bailey, at http://www.rpm.org/max-rpm/. Note: Most of the software will install into /opt/freeware, with links being added to /usr/bin and /usr/lib where conflicts with AIX would be avoided. To access a "Linux" version of a utility before the AIX utility, place /usr/linux/bin: at the beginning of your PATH. To access the man pages of the installed software, add /opt/freeware/man to your MANPATH variable or set an alias such as this: alias lman='MANPATH=/opt/freeware/man man' You may also find additional information using the 'info' command. If an RPM requires a shared library from AIX which was not installed at the time that rpm.rte was initially installed, then you can run /usr/sbin/updtvpkg to update RPM's reflection of the software installed by installp. If you already have older versions of Toolbox packages installed, and you just wish to update your images to the current levels on the new CD, there is a sample script on the CD called contrib/installnewer. It will examine the images on your system and then install only newer versions of those same packages, plus any new packages that the updated images may require. The usage is "installnewer /RPMS/ppc" for AIX. Set DEBUG=1 in your environment to get a list of RPMS to install without actually installing. You can also update the older version of Toolbox packages using YUM once you have setup YUM then run the following command to update all the packages to latest level. yum update ================================================================================ Some Known Problems and Limitations - General + Audio support is generally non-existent + Some AIX commands do not use full path to invoke programs which have counterparts in the Toolbox. If you have /usr/linux/bin or /opt/freeware/bin in your PATH ahead of /usr/bin, you may encounter some errors. Set /usr/bin ahead of /usr/linux/bin or /opt/freeware/bin if you get unexpected errors (usually involving unexpected options or syntax errors) to work around such a problem. + The Toolbox packages do not register information into the Trusted Computing Base (TCB). If you are running a TCB-enabled system, you might not want to install this software. - Rebuilding our SRPMS + It has been reported that when building Apache or GCC, the configure script can take a very long time. This is due to limitations of the default ksh shell supplied with AIX. The workaround is to set CONFIG_SHELL=/usr/bin/ksh93, or CONFIG_SHELL=/usr/bin/bash (if installed) before running configure. - autoconf: + You must either install the Toolbox awk or just set AWK=/usr/bin/awk for it to add line numbers to the libtool configure script. - destroyRPMS and rpm -e + Some scripts which run on removal fail to execute since they are invoking programs or accessing directories removed earlier. You may see several error messages running destroyRPMS. + If you have any "csm" packages installed from AIX, you may not be able to deinstall the rpm.rte installp image. In fact, you may not want to run destroyRPMS in this case. If you do, you will probably see errors and will need to reinstall the rpm.rte image. - rpm.rte: + You will see errors when running lppchk -l rpm.rte if you install the RPMs which comprise rpm.rte (rpm, bzip2, gettext, gzip, popt, zlib), because the exact form of the symbolic links is not the same. The links are equivalent, but lppchk -l and rpm -V will report discrepancies because the links are not exactly the same. ================================================================================ Other Packages (not on the CD) The web site http://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ has some additional packages beyond what is found on the CD. Please visit the web site to find additional images. ================================================================================ 64-bit libraries Most of the library packages in the AIX Toolbox have been enabled with 64-bit versions. For 64-bit shared objects inside shared libraries, the 64-bit version has been included in the same library with the 32-bit version, so you need only be in the correct compilation/link mode to get the desired version. For example, /opt/freeware/lib/libz.a (from the "zlib" package) now has a 32-bit shared object member named libz.so.1, and a 64-bit shared object member with the same name. The one that will be used will depend only on the object mode you are linking with. ================================================================================ Building against many libraries requires the use of run-time linking (-rtl) Due to cross-library codependencies, several of the libraries delivered with the Toolbox are built using run-time linking in order to allow the dependencies between libraries to be resolved at run-time. Some library references could not be resolved without employing run-time linking. When there is a shared object delivered with the toolbox which is not associated with a .a file, it is likely that it was built with run-time linking enabled. When you attempt to use one of these libraries you need to use the -rtl option to the linker (this is commonly enabled at the configure step by the use of LDFLAGS="-Wl,-brtl" for gcc, and LDFLAGS="-brtl" for vac/xlc). Unless you use -rtl, the linker will not search for the required .so files to resolve the shared object dependencies. The following packages were built using run-time linking technology: gimp glib gtk+ perl python rpm So, if you are trying to use glib or gtk+, you must use run-time linking to link your program. ================================================================================ How to report problems This program is offered on an "as-is" basis, but you may report problems to the AIX Open Source Software public forum at https://www.ibm.com/developerworks/community/forums/html/forum?id=2eb0f36d-9534-471b-8b27-c21e6c5b9b2b Because this is "as-is", a fix or response is not guaranteed, though someone will respond if they know the answer. Other people in forum may respond as well. ================================================================================ Build Environment Used to Produce Toolbox The Toolbox contents were generally created on an AIX system with no modified system headers. We are using AIX 6.1 system to build these pacakges and will move to AIX 7.1 when support for AIX 6.1 will end and so on. Links to the original source code location are provided in the AIX Toolbox website download tables. Additionally, the source RPMS are provided for those packages with licenses (such as GPL) which require source distribution. ================================================================================ Frequently Asked Questions A list of frequently asked questions is available on the ftp site at http://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/FAQ. ================================================================================