Skip to content
This repository has been archived by the owner on Apr 20, 2019. It is now read-only.

Installation Guide

fr4nk5ch31n3r edited this page Sep 1, 2012 · 2 revisions

UberFTP Installation Documentation

1.1 Required Components

UberFTP requires the Globus package globus_gssapi_gsi which is distributed as part of the Globus Toolkit. The following instructions describe how to determine if this package is present in a given Globus installation and, if it is not present, how to install it.

1.2 Setting Up Your Environment

There is one important environment variable which you must have set in order to use any Globus installation and that is GLOBUS_LOCATION. It must be set to either where the Globus installation resides or where you plan to install it to.

 % export GLOBUS_LOCATION=/usr/local/globus-5.0.2

1.3 Querying Globus For globus_gssapi_gsi

Once you have GLOBUS_LOCATION set in your environment, you can query that installation forthe required package:

 % $GLOBUS_LOCATION/sbin/gpt-query globus_gssapi_gsi
 2 packages were found in /usr/local/globus-5.0.2 that matched your query:
 packages found that matched your query
 globus_gssapi_gsi-gcc64dbg-dev pkg version: 7.5.3
 globus_gssapi_gsi-gcc64dbg-rtl pkg version: 7.5.3

If gpt-query finds globus_gssapi_gsi, you can skip building the Globus Toolkit and move onto section 1.5 "Downloading UberFTP". If you receive a message like "No packages were found that matched your query", then globus_gssapi_gsi is not installed in that GLOBUS_LOCATION. In that case, you can change your GLOBUS_LOCATION environment variable to point to another Globus install on the same system and repeat the query or you can build Globus as described in section 1.4.

1.4 Installing Globus

You can grab the Globus Toolkit from ftp://ftp.globus.org/pub/. The following instructions were written using toolkit 5.0.2 found here. Make sure your GLOBUS_LOCATION environment variable points to the target installation directory as described in section 1.2.

 % export GLOBUS_LOCATION=/usr/local/globus-5.0.2  
 % gunzip gt5.0.2-all-source-installer.tar.gz     
 % tar xf gt5.0.2-all-source-installer.tar    
 % cd gt5.0.2-all-source-installer              
 % ./configure --prefix=$GLOBUS_LOCATION       
 % make globus_gssapi_gsi                     

1.5 Downloading UberFTP

You can download the client here. There are 2 branches:

  1. master contains the latest stable release
  2. develop contains the latest (possibly untested) source

In addition, you can access older versions of the source by selecting a tag.

Download the latest stable release:

 git clone https://github.com/JasonAlt/UberFTP

Download the latest source:

 git clone -branch develop https://github.com/JasonAlt/UberFTP

1.6 Building UberFTP

Once you have Globus built and have downloaded UberFTP, you can choose to build UberFTP with GPT or you can use the configure script directly. Both methods are equivalent. Choose whichever method you are more comfortable with. Both methods require that you know what 'flavor' globus_gssapi_gsi was built with in your Globus installation. A 'flavor' describes certain build options for a package including which compiler was used, whether it was built 32-bit or 64-bit, if it is multi threaded and if it was built with debug enabled. The following are all examples of build 'flavors': gcc32, vendorcc64dbg, gcc64pthr, vendorcc32dbgpthr. You will need to query the Globus installation for the flavor used with globus_gssapi_gsi:

 % $GLOBUS_LOCATION/sbin/gpt-query globus_gssapi_gsi
 2 packages were found in /usr/local/globus-5.0.2 that matched your query:
 packages found that matched your query
 globus_gssapi_gsi-gcc64dbg-dev pkg version: 7.5.3
 globus_gssapi_gsi-gcc64dbg-rtl pkg version: 7.5.3

In that example, you can see the flavor 'gcc64dbg' appended to the package name. This is the flavor that we will use to build UberFTP.

1.6.1 Installation With GPT

All you'll need to do is run gpt-build with the flavor found previously. In the following example, substitute 'gcc64dbg' with whichever flavor was used to build globus_gssapi_gsi.

 % $GLOBUS_LOCATION/sbin/gpt-build uberftp-client-2.5.tar.gz gcc64dbg

1.6.2 Building With Configure

You can build UberFTP without calling gpt-build directly (though GPT is still called under the hood). This is useful when you want to customize the installation such as installing the client outside of GLOBUS_LOCATION. If you do wish to install UberFTP outside of the GLobus installation, append '--prefix=<alternate_path>' to the configure line below.

First, unzip and untar the package and cd into that new directory. Then you can configure and build as desired. Remember to replace 'gcc32dbg' with the flavor used to build globus_gssapi_gsi in the following example.

 % gunzip uberftp-client-2.5.tar.gz 
 % tar xf uberftp-client-2.5.tar  
 % cd uberftp-client-2.5/       
 % ./configure --with-globus=$GLOBUS_LOCATION --with-globus-flavor=gcc32dbg
 % make                        
 % make install