Sunday, December 11, 2011

Building Git Version Control System on AIX, HP-UX and Solaris

Git is a fast version control system originally designed for the Linux kernel and written by Linus Torvalds.
Need git on AIX or HP-UX? Here's how:

HP-UX PA-RISC 2.0:

First, you're going to need a compiler (GCC), GNU make (gmake) and GNU coreutils (install). swinstall the dependency repositories first:
coreutils 6.9 coreutils 
gcc 4.2.3 gcc 
libgcc 4.2.3 libgcc 
libiconv 1.12 libiconv 
make 3.81 make 
perl 5.8.8 perl 
zlib 1.2.3 zlib 

Untar the package and start building:

$ ./configure --with-iconv=/usr/local/bin

Edit the Makfile:

CC = gcc
AR = ar
RM = rm -f
TAR = tar
FIND = find
INSTALL = /usr/local/coreutils/bin/install

# sudo gmake NEEDS_LIBICONV=1 NO_TCLTK=1 install prefix=/usr/local

$ which git
/usr/local/bin/git
$ uname -sr
HP-UX B.11.11
$ git --version
git version 1.5.4.4


Building GIT on AIX 5.3 POWERPC:
Install dependencies and GCC, gmake, GNU coreutils (install), etc:

gcc-4.0.0-1 libgcc-4.0.0-1 libstdc++-4.0.0-1 libstdc++-devel-4.0.0-1 gcc-c++-4.0.0-1 readline-4.3-2 readline-devel-4.3-2 zlib-1.2.3-3 zlib-devel-1.2.3-3 make-3.80-1 unzip-5.51-1 flex-2.5.4a-6 bison-1.875-3 popt-1.7-2 gettext-0.10.40-6 expect-5.42.1-3 tcl-8.4.7-3 tk-8.4.7-3 coreutils-5.2.1-2

$ ./configure
vi Makefile:

CC = /opt/freeware/bin/gcc
AR = ar
RM = rm -f
TAR = /opt/freeware/bin/tar
FIND = find
INSTALL = /usr/linux/bin/install
RPMBUILD = rpmbuild
TCL_PATH = /opt/freeware/bin/tclsh
TCLTK_PATH = /opt/freeware/bin/wish

# gmake NO_MSGFMT=1 install prefix=/opt/freeware
$ uname -a
AIX aix 3 5 004518FC4C00
$ which git
/opt/freeware/bin/git
$ git --version 
git version 1.5.4.4

Solaris 10:

Solaris 10 comes with gcc, gmake and GNU tools in /usr/sfw/bin, but you'll need ginstall from GNU coreutils (you can get it from Solaris Freeware).

$ ./configure
Edit the Makefile - set the path to "ar", "gcc" and GNU "install".

CC = /usr/sfw/bin/gcc
AR = /usr/ccs/bin/ar

RM = rm -f
TAR = tar
FIND = find
INSTALL = /opt/sfw/bin/install

Look for ifeq ($(uname_S),SunOS) and set INSTALL to /opt/sfw/bin/install also.

# gmake NO_TCLTK=1 NO_CURL=1 install prefix=/opt/sfw

% uname -a
SunOS ibmsolaris 5.10 Generic_127112-11 i86pc i386 i86pc

% git --version
git version 1.5.4.4