Chapter 3. Software Prerequisites

1. Required software

  • Globus Toolkit installer, from Globus Toolkit 4.0 download page

  • J2SE 1.4.2+ SDK from Sun, IBM, HP, or BEA (do not use GCJ).

    [Note]Note

    To install using Java 1.6 from a source installer, please apply the Java 1.6 patch. To apply the patch, download it into the source installer then run

    patch -p0 < java16.patch

    You should see the output:

    patching file source-trees/wsrf/java/core/source/build.xml
    patching file source-trees/wsrf/java/core/source/pkgdata/pkg_data_src.gpt
    

    If you are not comfortable using patches, you may instead just edit the file source-trees/wsrf/java/core/source/build.xml. Edit it so the lines 89-94 read:

            <condition property="compiler.jvmarg" value="-source 1.4">
             <or>
              <equals arg1="${ant.java.version}" arg2="1.5"/>
              <equals arg1="${ant.java.version}" arg2="1.6"/>
             </or>
    

    You do not need this patch for java 1.4.x or java 1.5.x

  • Ant 1.6+ (1.6.1+ if using Java 1.5). If you are using the ant shipped with Fedora Core or RedHat, please see the Section 3.3, “Fedora Core”

  • The above two requirements suffice for the Core-only download. However, the rest of this guide does not apply to that download. Please see the Java WS Core Admin Guide if you are using a core-only source/binary downlaod.

  • C compiler. If gcc, avoid version 3.2. 3.2.1 and 2.95.x are okay. gcc 4.1 has a bug that will trigger during the build of WS C (bug 4315). You can recompile the globus_js package from the advisories page, then run make again.

  • C++ compiler. Use the version corresponding to your C compiler from the previous bullet.

  • GNU tar

  • GNU sed

  • zlib 1.1.4+

  • GNU Make

  • Perl 5.005 or newer. Some linux distributions may require additional perl library packages to be installed. Please see the prereq section specific to your linux distribution for details.

  • sudo

  • JDBC compliant database. For instance, PostgreSQL 7.1+

  • gpt-3.2autotools2004 (shipped with the installers, but required if building standalone GPT bundles/packages)

2. Optional software

  • IODBC (compile requirement for RLS)

  • Tomcat (required at runtime by WebMDS, optional for other services) - Make sure to download it directly from the Apache web site. This is a runtime-only requirement, and is not required at compile-time.

  • gLite Java VOMS parsing libraries - binary available (compile requirement for Workspace Service)

3. Platform Notes

In this section, the word "flavor" refers to a combination of compiler type (gcc or other), 32 or 64 bit libraries, and debugging enabled or not.

3.1. Apple MacOS X

Intel Macintosh machines have a problem with the "-verify" flag for grid-proxy-init (bug 4302). As a workaround, you can skip the -verify step. This will be fixed when we upgrade our embedded openssl.

3.2. Debian/Ubuntu

Some kernel/libc combinations trigger a threading problem. See bug #2194. The workaround is to set LD_ASSUME_KERNEL=2.2.5 in your environment.

Some distros may not include some perl modules we use. "$ apt-get install libpod-\*" should fix it, see bug 4387.

3.3. Fedora Core

gcc 4.1 (the default compiler for FC5) has a bug that will trigger during the build of WS C (bug 4315). You can recompile the globus_js package from the advisories page, then run make again.

Change your default Java installation using the alternatives command. Here's one example of how to do it if you have already installed a non-GCJ version of the Java2 SDK into /usr/java/j2sdk1.4.2_08:

root# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_08/bin/java 2
root# /usr/sbin/alternatives --config java
There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------

*+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
   2           /usr/java/j2sdk1.4.2_08/bin/java

Enter to keep the current selection[+], or type selection number:

Choose selection 2 to change your default java version to the non-GCJ version.

3.4. FreeBSD

No known issues.

3.5. HP/UX

Specify --with-flavor=vendorcc32 on the configure line. GNU tar, GNU sed, and GNU make are required on the PATH.

HP-UX 11.11 (11iv1) and 11.23 (11iv2) on PA-RISC:

  • HP Ansi-C compiler, version B.11.11.14

  • Java 1.5.0_02

  • Apache Ant 1.6.2

HP-UX 11.23 (11iv2) on IA-64:

  • HP ANSI-C compiler, version A.06.00

  • Java 1.5.0_03

  • Apache Ant 1.6.2

HP-UX 11.11 requires support for IPv6, which is part of the Transport Optional Upgrade Release (TOUR). This product can be obtained free-of-charge from the HP Software Depot (search keyword = "TOUR").

HP also supplies the Globus Toolkit as a pre-built software depot through its HP-UX Internet Express distribution. This product can be obtained free-of-charge from the HP Software Depot (search keyword = "globus").

For complete details about Globus on HP-UX, please consult the HP Globus Support page.

3.6. IBM AIX

Supported flavors are vendorcc32dbg/vendorcc32 and vendorcc64dbg/vendorcc64 using the Visual Age compilers (xlc). No gcc flavors are supported. Specify a flavor using --with-flavor=flavor.

GNU sed, tar, and make are required before the IBM ones in the PATH.

The toolkit has been tested on AIX 5.2 with:

  • Visual Age C/C++ 6.0

  • 32 bit version of IBM Java 1.4

  • Apache Ant 1.5.4

  • tar-1.14, make-3.80, flex-2.5.4a, perl-5.8.5, bison-1.25, zlib-1.2.2

3.7. Red Hat

When building from source on a Red Hat Enterprise line version 3 or 4 based OS, GPT might have a problem retrieving exit codes from subshells. You might see errors which says they were both successful and failed:

BUILD SUCCESSFUL
Total time: 11 seconds

ERROR: Build has failed
make: *** [globus_wsrf_servicegroup] Error 10

The workaround is to configure with --with-buildopts="-verbose"

Depending on your perl installation, you may also require the XML::Parser module, available in the perl-XML-Parser RPM.

3.8. SGI Altix (IA64 running Red Hat)

Some extra environment variables are required for building MPI flavors. For the Intel compiler:

export CC=icc
export CFLAGS=-no-gcc
export CXX=icpc
export CXXFLAGS=-no-gcc
export LDFLAGS=-lmpi

For the GNU compiler:

export CC=gcc
export CXX=g++
export LDFLAGS=-lmpi

In both cases, configure with --with-flavor=mpicc64

3.9. Sun Solaris

Supported flavors are gcc32, gcc64, vendorcc32 and vendorcc64. The dbg flavors should work as well. For gcc64, a gcc built to target 64 bit object files is required. The gcc32dbg flavor will be used by default. Specify other flavors using --with-flavor=flavor.

For Solaris 10, you may need to use an updated GNU binutils, or the provided Sun /usr/ccs/bin/ld to link. See binutils bug 1031 for details on Solaris 10 symbol versioning errors.

GPT has problems with the Sun provided perl and tar: http://www.gridpackagingtools.org/book/latest-stable/ch01s07.html

The toolkit has been tested on Solaris 9 with:

  • Sun Workshop 6 update 2 C 5.3

  • gcc 3.4.3

  • Sun Java 1.4.2_02

  • Apache Ant 1.5.4

  • and: tar-1.14, patch-2.5.4, m4-1.4.1, flex-2.5.4a, make-3.80, byacc-1.9, gzip-1.2.4, coreutils-5.2.1, perl-5.8.5

3.10. SuSE Linux

No known issues.

3.11. Tru64 Unix

Specify --with-flavor=vendorcc64 on the configure line. GNU tar, GNU sed, and GNU make are required on the PATH.

The toolkit has been tested on Tru64 UNIX (V5.1A and V5.1B) with:

  • HP C V6.4-009 and V6.5-003 compilers
  • Java 1.4.2_04
  • Apache Ant 1.6.2

For complete details about Globus on Tru64, please consult the HP Globus Support page.

3.12. Windows

Only Java-only components will build. Please choose the Java WS Core-only download and follow the instructions in the Java WS Core System Administrator's Guide.