Software Help

Getting Software Help

If you are having a problem with software included in the SBGrid suite or think you've discovered an application bug, please use the Contact Form selecting Software Bug as request type to alert us to the problem. You can also email bugs@sbgrid.org with details on the problem, but the web form is the preferred method.

New Software and Software Updates

To request a new software package or an update to an existing package, please use the Contact Form selecting New Software Request as request type.

We try to accommodate most requests for new software, but we do occasionally run into difficulties. Despite most of our software being free for academics, some developers insist that each lab download and install their own software. We are happy to provide developers with the list of SBGrid members that have access to their software, but that doesn't always satisfy their requirements.

Even when things go smoothly, license requests and working out licensing details with developers can take some time, so please don't wait until the last minute before requesting software you anticipate you may need for your project.

Newsletter

SBGrid sends a monthly newsletter with information concerning software updates, upcoming webinars, talks and other items of interest to our community. The archive of previous newsletters is available online at the SBGrid Newsletter Archive.

Supported Operating Systems

The SBGrid Software Suite can run on Linux, OS X and IRIX machines.

Linux

We build and test most software under CentOS 5. The majority of our linux users are using the Red Hat/CentOS or Fedora distributions, but we also have labs using the software with Ubuntu, Debian and OpenSuSE. We don't explicitly test the software on these distributions, but it is known to work, and we will work to resolve problems reported by users of these linux distributions.

We officially support at least the four most recent releases of Fedora Linux and the two most recent releases of Red Hat and CentOS. Depending on available resources, we may choose to support more than the four most Fedora releases. Both 32 and 64-bit versions are fully supported.

Currently Supported:

  • Fedora Core 6 - Fedora 15
  • Red Hat (Workstation, Server) 5.x - 6.x
  • CentOS 5.x - 6.x
  • Scientific Linux 6.x


OS X

We build and test the programs under the most two most recent OS X releases.

Currently Supported:

  • OS X PowerPC 10.4 - 10.5
  • OS X Intel 10.5 - 10.6


IRIX

The IRIX programs branch is currently frozen. The applications are stable and work well on our SGI hardware, but they are not being updated.

Currently Supported:

  • IRIX 6.5.26 + bugfix releases


Overriding Software Versions

Most of the software titles installed in the SBGrid Suite have several versions available. Typically, we try to provide at least three versions of each software package, although very old or very new applications may have fewer versions.

Display Available Versions

To list the available versions of a software title, you can use the sbgrid utility. Running sbgrid -l will list the versions for your current platform. From a linux machine, a search for CCP4 versions looks like this:

$ sbgrid -l ccp4
        Version information for: /programs/i386-linux/ccp4

        Default version:                    6.1.13
        In-use version:                     6.1.13
        Other available versions:           6.1.3 6.0.2 5.0.2
        Overrides use this shell variable:  CCP4_L

Running sbgrid -L will print the available versions for the three current platforms (OS X PowerPC and Intel, Linux).

$ sbgrid -L gnuplot
        Version information for: /programs/i386-linux/gnuplot
        Default version:                    4.2.6
        In-use version:                     4.2.6
        Other available versions:           4.4.0
        Overrides use this shell variable:  GNUPLOT_L
        Version information for: /programs/i386-mac/gnuplot
        Default version:                    4.2.6
        Other available versions:           4.4.0
        Overrides use this shell variable:  GNUPLOT_M
        Version information for: /programs/powermac/gnuplot
        Default version:                    4.2.6
        Other available versions:           4.4.0
        Overrides use this shell variable:  GNUPLOT_P
        

Overriding Default Versions

To override the default version of a software title, you need to create an override file. The shell configuration scripts will read this file and override the default version.

The override file is named .sbgrid.conf and should be placed in your $HOME directory. The syntax for overrides is a simple key=value pair. E.g. it should look like this:

APPLICATION_L=1.2

APPLICATION_L is the name of the application followed by an underscore and the shorthand initial for the architecture. We use L for linux, M for OS X Intel, P for OS X PPC and S for SGI. The last field on the line is the software version number you want to use.

To quickly open the overrides file in your default EDITOR, you can run sbgrid-overrides -e.

When you open a new shell, you will see a message about the overridden version. Note that a site administrator can create sitewide or machine-specific overrides as well.

The example output below shows CCP4 on linux being changed from the default version:

 Configuration options in effect for this shell:
        Variable             Setting         Configuration
        CCP4_L               6.1.2           personal
        

Personal Software Installation

If you run a machine that is frequently disconnected from the network, like a laptop, or don't want to set up an NFS-shared software installation, it is possible to install the software to your local machine.

There is a script in the programs tree that can be used to copy the appropriate branch from a shared installation to your laptop or workstation.

Copy /programs/share/bin/localsync from the machine that has the software to your home directory on the standalone machine:

scp your.server.name:/programs/share/bin/localsync ~/

Then run the script like this:

chmod 755 ~/localsync
~/localsync yourusername@your.server.name

The script will prompt you for your sudo (admin) password in order to create the programs directory, and then it will prompt you for your login password to the server that hosts your programs installation.

Here is an example run on my workstation:

 $ ./localsync bene@sbgrid-dev-architect
Running 'sudo mkdir /programs && sudo chown bene /programs'
[sudo] password for bene:
Syncing site master with local i386-linux installation.  The initial sync can take a while...
receiving file list ...

This will copy the entire branch for your architecture to your local hard drive. For the OS X branches, this will use approximately 30 GB of disk space. At this point in time, there is no way to copy a single program in an automated fashion.

You should use a network cable for the initial download, since the download is fairly large. Subsequent runs of the 'localsync' script are differential; they will only copy new or changed files, so they can be run over a wireless connection. The script can be run at any time to make your local installation match the installation on your local server.

Personal Software Installation

You can create a customized local installation of the software using the script sbgrid-laptop located at /programs/share/bin/sbgrid-laptop. This script requires you to have an SSH login to a computer that has access to an SBGrid software installation and will let you specify which packages you want to install.

sbgrid-laptop: a tool for creating a local installation of the
  SBGrid software on a laptop.

Usage: sbgrid-laptop [-iu]

  -e    Edit the software download list.
  -i    Initial set up and installation of the SBGrid software.
  -t    Test your current configuration.
  -u    Update an existing installation using the current
        configuration.
  -v    Verbose option for the file transfer.

You need an SSH login to a machine with the SBGrid software installed
to use this script.  The script will create an SSH key and run an SSH
agent process to handle authentication for the file transfers.

To use the script, copy the script the machine you want to install the software on, and then run it in install mode: ./sbgrid-laptop -i. Follow the prompts on the screen to create your configuration file, your software installation list and to enable logins using an SSH key for authentication.

Sharing a Software Installation without NFS

While we recommend that sites export their software installation via NFS to their workstations, it is possible to use rsync to copy the master installation to each workstation. This method has the drawback that it requires manual intervention on the part of the local sysadmin, and updates will not be instantaneous or simultaneous for all machines.

On each client machine, you'll need an 'sbgrid' user. That user will have a passphraseless ssh key that lets it log into the machine that hosts your primary installation. Each client machine will have a cron job for that sbgrid user that runs at 2 AM that will sync the programs from the master installation to the client machine.

Here is a basic command run down. 'server1' holds the programs installation and 'client1' is what will be connecting to it.

  • Login as root/administrator on client1
  • Create the 'sbgrid' user on client1
  • Check the free space on /.
  • If there's enough free space, set up the programs directory:
mkdir /programs
chown -R sbgrid:sbgrid /programs
  • If there is not enough free space on the root volume, you'll need to find space on a local volume.
  • Login as 'sbgrid' on client1.
  • Create the passphraseless ssh key:
ssh-keygen -d

(hit enter to confirm default file location, no passphrase, etc)

  • Copy the ssh key to server1:
cat ~/.ssh/id_dsa.pub | ssh server1 'cat - >> ~/.ssh/authorized_keys'
  • Copy the localsync script from server1 to client1. From client1:
scp sbgrid@server1:/programs/share/bin/localsync .

(May prompt to accept the host key. If you can't login without a password, the ssh key stuff above has failed, and you'll need to troubleshoot that.) </code> chmod 755 localsync ./localsync sbgrid@server1 </code> (This will take a while depending on the speed of the machines/network.)

  • Test the installation:
tcsh
source /programs/sbgrid.cshrc
 or
bash
source /programs/sbgrid.shrc

(You should get a message like this: )

                               Welcome to SBGrid!
********************************************************************************
 Your use of the applications contained in the /programs  directory constitutes
 acceptance of  the terms of the SBGrid License Agreement included  in the file
 /programs/share/LICENSE.  The applications  distributed by SBGrid are licensed
 exclusively to member laboratories of the SBGrid Consortium.

 To hush this license message, run 'touch ~/.agree2sbgrid'.
********************************************************************************
 Please submit bug reports and help requests to:       <bugs@sbgrid.org>  or
                                                       <http://sbgrid.org/bugs>
 This installation last updated: 20110411
********************************************************************************
 Total time to initialize: 1 second(s)
  • Add a cronjob for the updates. As the 'sbgrid' user on client1:
echo "0 2 * * * ~/localsync sbgrid@server1" | crontab
  • Check the cronjob:
crontab -l

You're done!