zoukankan      html  css  js  c++  java
  • compile git on aix and solaris

    http://unixsadm.blogspot.com/2008/03/porting-git-to-hp-ux-pa-risc-and-aix.html

    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

    9 comments:

    RaNma said...

    Hello

    compiling GIT on AIX with your dependencies list and configure/make options still doesn't produces a running GIT distribution, and crashes with:

    /usr/bin/getopt: Not a recognized flag: d
    Usage: install [-c DirectoryA] [-f DirectoryB] [-i] [-m] [-M Mode] [-O Owner]
    [-G Group] [-S] [-n DirectoryC] [-o] [-s] File [DirectoryX ...]
    gmake[1]: *** [boilerplates.made] Error 2
    gmake: *** [all] Error 2

    cmihai said...

    Right, and you need GNU install, as I've said. AIX install doesn't support -d. It's part of GNU coreutils (you get get it from IBM Toolbar for Linux). Don't forget to define the full path to "install" in the Makefile. For example:

    INSTALL = /usr/linux/bin/install

    RaNma said...

    Yes I vas focussing on getopt and not on install. Modifying my $PATH to have /opt/freeware/bin before /usr/bin or /opt/pware/bin solved the gmake problem.

    Geez, even with "L" AIX is not easy to port native GNU code on even compared with 4.3. And my first tests on AIX6 doesn't show many improvements on this side...
    Still have to rely on Bullfreeware (old versions in 32bit) IBM Toolbox (even older) or the new pware repository (unfortunately many complied in 32bit only but still a good effort).

    cmihai said...

    Most GNU products are geared specifically at GNU/Linux platforms, and don't expect actual POSIX compliant or SUS compliant systems.

    They also rely on GNU extensions to most programs (as the -d flag for install for example, not present on UNIX systems).

    It's usually easier to just install a complete GNU environment rather than try to make the software behave.

    As for porting, I've had decent results with most software, and acceptable results using pkgsrc (NetBSD's ports). Though don't expect things to just work out of the box, there's usually tweaking to be done.

    RaNma said...

    Yes and even with "stict" C/C++ code it's hard to have it compiled on AIX, HP-UX or Irix using their own compilers and optimization flags (even worse when trying to include specific implementations of MPI to fully support SP switches or Altix NUMA). I think it's a waste for these platforms to rely only on proprietary software for their compilers or internal tools compatibility. Who's gonna pay $$$ for a Power6 and only put Linux on it (even with binary x86 compatibility)? So more and more clients are switching to barebone AMD/Intel pizzaboxes with xen or vmware+linux and a lower TCO...

    cmihai said...

    For specific role machines like database servers (Oracle, DB2) you still can't beat a good RISC platform, especially when it comes to performance, scalability and reliability.

    Most IBM mainframes (zSeries), minicomputers (iSeries) or UNIX Servers (pSeries) serve as Oracle, DB2, WebSphere AS / portals or some other specific role (even if you count partitioning and such). They're usually core machines. TCO doesn't even come into play here, you just can't scale x86 like that. It's either RISC or EPIC (though EPIC is usually more expensive).

    Besides, development tools are top notch on IBM's systems if you can afford XLC and such. Porting isn't usually a problem, it's just this workstation class GNU software.

    Besides, this was hardly more than a ghettohack.

    M said...

    Git on AIX will crawl unless you define INTERNAL_QSORT in the Makefile

    blogjamun said...

    thanks a million mate! I blindly followed the steps on Open Solaris and it was a piece of cake.

    newsfromhungary said...

    Git 1.7.2.2 compiles with xlC on AIX after changing CC = c99_r and removing the -Wall option from the Makefile. It requires GNU make, expat and expat-devel, and python if you want to use the remote helpers.

    My command line (RPMs are from perzl.org):

    $ PYTHON_PATH=/opt/xpyv/bin/python PATH=/opt/freeware/bin:$PATH make prefix=/usr/local all

    I used Python 2.6.2 which is bundled in 'xpyv.rte' from the XIV (storage) Host Attachment Kit.

  • 相关阅读:
    Oracle函数如何把符串装换为小写的格式
    Oralce中的synonym同义词
    JS中getYear()的兼容问题
    How to do SSH Tunneling (Port Forwarding)
    所谓深度链接(Deep linking)
    upload size of asp.net
    发一个自动刷网站PV流量的小工具
    解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示"The operation could not be completed." 的问题。
    在资源管理器中使鼠标右键增加一个命令,运行cmd,同时使得当前路径为资源管理器当前的目录
    使用SQL语句获取Sql Server数据库的版本
  • 原文地址:https://www.cnblogs.com/morya/p/2317541.html
Copyright © 2011-2022 走看看