Software Prerequisites

ORCA heavily relies on a traditional Java toolchain including Sun JDK (Using Open JDK is not advisable at this time), Ant, Maven and Tomcat. As a development environment you can use Eclipse or NetBeans.

It is expected that the path and all appropriate standard variables (such as JAVA_HOME, M2_HOME, etc.) are configured for the required tools.

  • Java version 1.6.x (for Bella 2.1 and beyond)
    • java -version and $JAVA_HOME/bin/java -version should both show a 1.6.x revision.
      java version "1.6.0_20"
      Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
      Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)
      

NOTE: If you are trying ORCA out using an emulation mode container, using the instructions on this page, the JVM is the only prerequisite required.

  • Ant 1.7.0+
    • The version shipped with Debian etch is known *NOT* to work.
    • The version shipped with Mac OS 10.4 is known *NOT* to work.
    • ant -version and $ANT_HOME/bin/ant -version should both show something like
      Apache Ant version 1.7.0 compiled on August 25 2008
      
  • Maven 2.2.1+ (NOTE: Maven 3 is OK)
    • mvn -version and $M2_HOME/bin/mvn -version should both show something like
      Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
      
  • Maven tasks for ant (installed in your ant's lib directory on Mac OS)
    • If these are installed, you should see something like the following:
      $ ant -diagnostics | grep maven-ant-tasks
      maven-ant-tasks-2.0.10.jar (1118477 bytes)
      java.class.path : /usr/share/ant/lib/ant-launcher.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/xercesImpl.jar:
      /usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-jsch.jar:/usr/share/ant/lib/ant-apache-bcel.jar:
      /usr/share/ant/lib/ant-apache-oro.jar:/usr/share/ant/lib/ant-apache-resolver.jar:/usr/share/ant/lib/ant-apache-bsf.jar:
      /usr/share/ant/lib/ant-trax.jar:/usr/share/ant/lib/maven-ant-tasks-2.0.10.jar:/usr/share/ant/lib/ant-apache-regexp.jar:
      /usr/share/ant/lib/ant-commons-net.jar:/usr/share/ant/lib/ant-nodeps.jar:/usr/share/ant/lib/ant-launcher.jar:
      /usr/share/ant/lib/ant-javamail.jar:/usr/share/ant/lib/ant-apache-log4j.jar:/usr/share/ant/lib/ant-jmf.jar:
      /usr/share/ant/lib/ant-antlr.jar:/usr/share/ant/lib/ant-commons-logging.jar:/usr/share/ant/lib/ant-jdepend.jar:
      /usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-swing.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.19/lib/tools.jar
      $
      
  • Subversion client with https support
    • Mac users: use the svn that comes with Leopard in /usr/bin/svn: [sudo fink remove svn; sudo fink remove svn-client]
    • You should have a ra_dav module with https support as follows
      $ svn --version
      svn, version 1.5.4 (r33841)
         compiled Aug  7 2009, 02:02:06
      
      Copyright (C) 2000-2008 CollabNet.
      Subversion is open source software, see http://subversion.tigris.org/
      This product includes software developed by CollabNet (http://www.Collab.Net/).
      
      The following repository access (RA) modules are available:
      
      * ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
        - handles 'http' scheme
        - handles 'https' scheme
      * ra_svn : Module for accessing a repository using the svn network protocol.
        - with Cyrus SASL authentication
        - handles 'svn' scheme
      * ra_local : Module for accessing a repository on local disk.
        - handles 'file' scheme
      
      
  • Read access to https://geni-orca.renci.org/svn (by default anyone can check out the code)
  • An ssh client
  • wget (any version and on path)

If there are issues with your build system, you can retrieve a working software set from svn co https://geni-orca.renci.org/svn/software. Running tar xvfz [filename] will extract the software needed. If necessary modify the first line of the environment file to reflect your path to the software directory, and source the environment file.

Platform-specific notes

The majority of ORCA development actually happens on Mac OS X, while the deployment is done on Linux (Debian/Ubuntu or CentOS) machines. Here is a collection of notes related to various environments.

Mac OS X

  • Periodic automated updates of Mac OS X by Apple update the JDK, Maven and Ant tools, so it is not unusual to be unable to build ORCA after a new update has been installed. Check the versions of the available tools (JDK, Ant, Maven) and the maven-ant-tasks (which get removed after each update if you are using system-wide ant).
  • OSX Lion: as of July 2011, Lion comes with up-to-date versions of all the goodies ready to go. It downloads and installs Java the first time you run a program that requires it (e.g., mvn -version). You just need to download the Maven Ant tasks and install them in $HOME/.ant/lib.