Project

General

Profile

Instructions for cross-compiling Xerces-C++ 310 for PPC using nova crosscompiler v4 5 0-2 10 1

(Q. Lu, May 11, 2011)

  • First set up the ups products area
    o ksu root
    o su products
    o cd /nova/ups/xerces_c/v3_1_0
    o mkdir LinuxPPC-GCC_4_5_0
    o cd LinuxPPC-GCC_4_5_0
    o mkdir ups
    o cd ups
    o (create the xerces_c.table)
  • Build a cross-compiled version of Xerces-C++
    o cd /scratch/products/ppcinstall/xerces_c/xerces-c-3.1.0
    o mkdir GCC_4_5_0
    o cd GCC_4_5_0
    o wget http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.0.tar.gz
    o tar -zxvf xerces-c-3.1.0.tar.gz
    o cd xerces-c-3.1.0
    o setup icu4c v4_4_rc1 -f LinuxPPC -q GCC_4_5_0
    o setup nova_crosscompiler v4_5_0-2_10_1 -q powerpc-603
    o ./configure --prefix=/nova/ups/xerces_c/v3_1_0/LinuxPPC-GCC_4_5_0 --enable-transcoder-icu --host=powerpc-603-linux-gnu CXX=powerpc-603-linux-gnu-g++ CC=powerpc-603-linux-gnu-gcc --with-icu=/nova/ups/icu4c/v4_4_rc1/LinuxPPC-GCC_4_5_0 --disable-netaccessor-curl >& configure.log &
    o gmake >& gmake.log &
    o gmake install
  • Declare the product
    o cd /nova/ups/xerces_c/v3_1_0/
    o edit "v3_1_0.version" file, add following to the bottom of the file:
    #*************************************************
    #
    FLAVOR = LinuxPPC
    QUALIFIERS = "GCC_4_5_0" 
      DECLARER = products
      DECLARED = 2010-05-11 20.36.48 GMT
      MODIFIER = products
      MODIFIED = 2010-05-11 20.36.48 GMT
      PROD_DIR = xerces_c/v3_1_0/LinuxPPC-GCC_4_5_0
      UPS_DIR = ups
      TABLE_FILE = xerces_c.table
    
    #*************************************************
    #
    FLAVOR = Linuxppc
    QUALIFIERS = "GCC_4_5_0" 
      DECLARER = products
      DECLARED = 2010-05-11 20.36.58 GMT
      MODIFIER = products
      MODIFIED = 2010-05-11 20.36.58 GMT
      PROD_DIR = xerces_c/v3_1_0/LinuxPPC-GCC_4_5_0
      UPS_DIR = ups
      TABLE_FILE = xerces_c.table
    
o reason for doing this is because using ups v4.9.1 to declare a new qualifier for an existing version (declared by previous version of ups) would cause conflicts