Appendix B. Packaging details

1. The makefile

You do not have to build every subcomponent of this release. The makefile specifies subtargets for different functional subpieces. See the component map at GT4 Facts for more details.

Makefile targets

  • i18n: Internationalization libraries
  • prewsgram: Pre-webservices GRAM
  • gridftp: GridFTP
  • prewsmds: OpenLDAP-based MDS2 [source installers only]
  • prews: Pre-WS GRAM, MDS2, and GridFTP
  • wsjava: Java WS Core
  • wsc: C WS core
  • wsmds: MDS4
  • wsdel: Delegation Service
  • wsrft: Reliable File Transfer service
  • wsgram: GRAM4
  • wscas: Community Authorization Service
  • wstests: Tests for java webservices
  • wsctests: Tests for C webservices
  • prews-test: Tests for pre-webservices components
  • rls: Replica Location Service

Note that all of these targets require the "install" target also. So, for instance, to build GridFTP alone, you would run:

$ ./configure --prefix=/path/to/install
$ make gridftp install

2. The Grid Packaging Toolkit

The Globus Toolkit is packaged using the Grid Packaging Toolkit (GPT). The GPT provides a way for us to version packages and express dependencies between packages. The Makefile for the installer is automatically generated based on the GPT dependencies expressed in CVS. GPT versions also allow us to release update packages for small subsets of our code. For more information on the GPT, you may see its website.

3. Picking a flavor for a source installation

If you're building on a platform that is not auto-detected by the configure script, you will be prompted to specify a flavor for the --with-flavor= option. Typically "gcc32dbg" will work as a flavor to build 32-bit binaries using gcc. If you want to force a 64bit build, "gcc64dbg" should work.

Some platforms have better support from their native compilers, so you can use "vendorcc32dbg" to build using the native cc. Similarly, "vendorcc64dbg" will force a 64bit build instead.

4. Using globus-makefile-header with a binary distribution

We use a package called "globus_core" to detect the compiler and platform settings of the computer that the Toolkit is installed on. This package is excluded from binary distributions, because the compiler settings on your machine are likely to be different from those used on the machine that built the binaries.

If you need to install a source update into a binary installation, globus_core will automatically be built for you. If you're building something using "globus-makefile-header", though, you will need to install globus_core yourself. Install it with the following command:

$ $GLOBUS_LOCATION/sbin/gpt-build -nosrc <flavor>

Where flavor is the flavor you're passing to globus-makefile-header.