Open Source Binaries



Open Source for IBM i (from IBM)

Beta - chroot compile gcc environment

OpenSourceBeta — beta chroot based gcc development environment compile c extensions for PHP, ruby, etc. (at your risk)

AIX Toolbox RPMs (older)

This section of the wiki is dedicated to showing you “How to download and install” pre-compiled Open Source binaries hosted on the IBM AIX Toolbox for Linux Applications web site. This information is offered “as is”, please check this License link for additional details.

Note: wwwaixtool.sh replaces wwwinstall.sh, allowing for newer versions from aix toolbox site.

  • Download click here (4 files) → rpm.rte, wget.rpm, Attach:setup.sh, Attach:wwwaixtool.sh.
    • ftp files from your PC to IBM i (binary mode)
      ftp myibmi
      > bin
      > mkdir /QOpenSys/download
      > cd /QOpenSys/download
      > put rpm.rte
      > put wget.rpm (example version: wget-1.9.1-1.aix5.1ppc.rpm)
      > put setup.sh
      > put wwwaixtool.sh
      
      On IBM i:
      call qp2term
      > cd /QOpenSys/download
      > chmod +x setup.sh          <---make executable
      > setup.sh                   <---install rpm.rte and wget.rpm (example version: wget-1.9.1-1.aix5.1ppc.rpm)
      > chmod +x wwwaixtool.sh
      > ./wwwaixtool.sh 
      
      wwwaixtool.sh release [option scan]
       release:
        aix53          - IBM i V5R4, V6R1
        aix61          - IBM i V7R1+
        rpminit        - admin setup rpm and wget
        fixiconv       - admin fix freeware/lib/libiconv.a (Dependent module libiconv.a(libiconv.so.2) could not be loaded.)
        removefreeware - admin destroy /opt/freeware and links to /opt/freeware (destructive)
        aixtoolboxwgetdirs  - admin web copy local aixtoolbox site map wget http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html (IBM only)
       option:
        help           - help customer
        list   [scan]  - list possible downloads
        count  [scan]  - count list possible downloads
        wget1  [scan]  - wget from aixtoolbox
        wget   [scan]  - wget from aixtoolbox
        wgetv  [scan]  - wget from aixtoolbox (view action only)
        rpm1   [scan]  - rpm install
        rpm    [scan]  - rpm install
        rpmv   [scan]  - rpm install (view action only)
                         [scan] - wild card rpm scan [gcc]
      
      Example:
       ./wwwaixtoolbox.sh                         -- help
       ./wwwaixtoolbox.sh aix53 count bash        -- count bash* downloads
       ./wwwaixtoolbox.sh aix53 list bash         -- list bash* downloads
       ./wwwaixtoolbox.sh aix53 wget bash-4       -- web get bash-4.2-3.aix6.1.ppc.rpm
       ./wwwaixtoolbox.sh aix53 rpm bash-4        -- rpm install bash-4.2-3.aix6.1.ppc.rpm
      

Perzl RPMs (newer)

Most IBM i folks are now using binaries from Perzl site ( perzl.org), therefore a new wwwperzl.sh script was created to web download and/or install rpms and dependencies from Perzl site. Perzl site provides handy list of dependencies for rpms you may download ( deplists), setup2.sh below creates a local copy of Perzl *.deps tree for use with wwwperzl.sh. This information and scripts are offered “as is”, please check ( perzl.org) License link for additional details.

Download:

Instructions:

1) Download (laptop):
unzip download-2.0.tar.zip  (will create download-2.0.tar)

2) FTP 
ftp myibmi
> cd /QOpenSys
> bin
> put download-2.0.tar

2) Setup rpm and perzl *.deps (local copy)
call qp2term (or ssh uid@myibmi)
> cd /QOpenSys
> tar -xf download-2.0.tar
> cd /QOpenSys/download
> ./setup2.sh
  (a) setup installs rpm.rte
  (b) setup rpm install wget
  (c) setup untar perzl deplists  (www.oss4aix.org/rpmdb/deplists/aix53,aix61)
      Note: (c) can take significant time (setting up prezl depend tree ...)

call qp2term (or ssh uid@myibmi)
> cd /QOpenSys/download
> ./wwwperzl.sh help
customer:
--------------
wwwperzl.sh aix53|aix61 option [scan]
required:
 aix53|aix61
optional:
 option [scan]
 help          - help customer
 admin         - admin help, PASE releases, perzl site copy functions, etc.
 list   [scan] - list possible downloads
 count  [scan] - count list possible downloads
 wget1  [scan] - wget from perzl
 wget   [scan] - wget plus depends from perzl
 wgetv  [scan] - wget plus depends from perzl (view action only)
 rpm1   [scan] - rpm install local (post wget)
 rpm    [scan] - rpm install plus depends (post wget)
 rpmv   [scan] - rpm install plus depends (view action only)
                (*)[scan] - wild card rpm scan [gcc*]

pase->aix release:
 --------------
 V5R3 -> aix52
 V5R4 -> aix53
 V6R1 -> aix53
 V7R1 -> aix61

Example:
> ./wwwperzl.sh aix53 list curl             -- list curl versions
> ./wwwperzl.sh aix53 wgetv curl-7.27.0-1   -- view only rpm web get (no action)
> ./wwwperzl.sh aix53 wget curl-7.27.0-1    -- rpm web get list
> ./wwwperzl.sh aix53 rpmv curl-7.27.0-1    -- view only rpms install (no action)
> ./wwwperzl.sh aix53 rpm curl-7.27.0-1     -- rpms install

Having PHP ssl trouble (ar trick)?

bash-4.2$ php -v
Could not load program php:
        Dependent module /usr/local/lib/libssl.a(libssl.so.0) could not be loaded.
        Member libssl.so.0 is not found in archive 
bash-4.2$ mkdir libssl
bash-4.2$ cd libssl/
bash-4.2$ ar -x /usr/local/lib/libssl.a
bash-4.2$ ls
libssl.so.0.9.7  libssl.so.0.9.8  libssl.so.1.0.0  libssl.so.1.0.1
bash-4.2$ cp libssl.so.1.0.1 libssl.so.0    
bash-4.2$ ar -ruv /usr/local/lib/libssl.a libssl.so.0
a - libssl.so.0
bash-4.2$ php -v
Could not load program php:
        Dependent module /usr/local/lib/libcrypto.a(libcrypto.so.0) could not be loaded.
        Member libcrypto.so.0 is not found in archive 
bash-4.2$ ar -x /usr/local/lib/libcrypto.a
bash-4.2$ ls
libcrypto.so.0.9.7  libcrypto.so.1.0.0  libssl.so.0         libssl.so.0.9.8     libssl.so.1.0.1
libcrypto.so.0.9.8  libcrypto.so.1.0.1  libssl.so.0.9.7     libssl.so.1.0.0
bash-4.2$ cp libcrypto.so.1.0.1 libcrypto.so.0    
bash-4.2$ ar -ruv /usr/local/lib/libcrypto.a libcrypto.so.0
a - libcrypto.so.0
bash-4.2$ php -v
PHP 5.3.6 (cli) (built: Apr  7 2011 09:37:14) 

Not all RPMs work …

Not all RPM binaries from Perzl/AIX Toolbox will run on IBM i PASE, often best stay with AIX 5.3 versions. Chart from http://wiki.midrange.com/index.php/History_of_OS/400

Release GA Date (AIX<>PASE age roughly 1–2 year prior GA)
IBM i V5R3 (AIX 5.2 or lower) 06/11/2004
IBM i V5R4 (AIX 5.3 or lower) 02/14/2006
IBM i V6R1 (AIX 6.1 or lower) 03/21/2008
IBM i V7R1 (AIX 6.1 or lower) 04/23/2010
IBM i V7R2 (AIX 7.1 or lower) 05/02/2014

People tried …

  • GCC - GCC 4.6.2, enough to compile PECL extension PHP (Tony)
  • Git - Git 1.7.9 and part of GCC 4.6.2 (Eric)
  • PostgreSQL - Compile Postgress, should work with GCC 4.6.2 (Ryan)

Two sites:

Useful links (if bit old):

  1. RPMScripts to install scripts setup.sh and wwwinstall.sh (obsolete, use wwwaixtool.sh or wwwperzl.sh)
  2. PackageManager to install the RPM package manager (obsolete, use setup.sh or setup2.sh below, but manual rpm commands are useful)
  3. Archive where is old wwwinstall.sh? (obsolete, but if you are still using old wwwinstall.sh …)
  4. CCSID Have CCSID issues? Junk characters? Nothing works? (save you an afternoon)

Author(s)

Tony “Ranger” Cairns - IBM i PHP / PASE