Version 52 (modified by chase, 9 years ago)

--

Prerequisites

Software Prerequisites

Building GENI-ORCA

1. Create a work directory and change into it.

$ mkdir orca
$ cd orca

2. Retrieve the bootstrap directory from subversion.

For the latest version of the code (unstable, currently in development, may be broken) use:

$ svn co https://geni-orca.renci.org/svn/orca/build-all/trunk build-all

For the official release version of the code use:

$ svn co https://geni-orca.renci.org/svn/orca/build-all/tags/<substitute release number>/ build-all

This will create the subdirectory build-all in the current directory.

NOTE1: The above command checks out the development trunk. To get the appropriate stable release follow the instructions for the release.

NOTE2: The ORCA directory structure and these instructions support versions of subversion before 1.5, which didn't have shallow extractions. Thus some of the instructions may seem unusual to svn 1.5+ users.

3. Soft link to the build.xml file.

$ ln -s build-all/build.xml build.xml

4. Use ant to get the source.

$ ant get.all

NOTE: You may get an error message about the --trust-server-cert option. Edit build-all/helper.sh file (look for the option and remove it).

5. If this is the first time you are building orca, you will need to register the certificate of our web server, so that maven can download the necessary dependencies (our server uses https). You should omit this step if you have already installed the certificate.

The web server certificate must be installed in the keystore of your java installation. To do this, we require that you set JAVA_HOME to point to the root of your java installation. Note also that $JAVA_HOME/bin must be on the path. Please do not use Open JDK, since it has issues with its keytool implementation.

Our scripts assume that your installation's keystore is under: $JAVA_HOME/lib/security/cacerts.

Note: Mac users, your JAVA_HOME should be set to something like this: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

If you do not require sudo to modify your installation's keystore use the following command:

$ ant get.certificate

If this fails with permission denied errors, please try the following:

$ ant get.certificate.sudo

6. Prepare the source tree for building

$ ant prepare.build

Note: maven will download a large number of files. It will whine about not being able to find some where it looked first, but then it will usually find them OK somewhere else. If some of the downloads fail, please retry the command (it is safe). You need to be connected to the Internet while performing this step.

7. Build the whole tree and install all artifacts to the local repository (the resulting jars end up in ~/.m2/repository/)

$ mvn install

NOTE 1: maven will download a large number of files. It will whine about not being able to find some where it looked first, but then it will usually find them OK somewhere else. If some of the downloads fail, please retry the command (it is safe). You need to be connected to the Internet while performing this step. Some maven tasks will whine that they have nothing to do: that is normal.

NOTE 2: if maven fails due to a unit test in one of the modules, you can install without running unit tests like so:

$ mvn install -DskipTests

NOTE 3: ant up will do incremental updates of the source tree.

NOTE 4: Once you have the entire project built and installed to your local repository, you can reinstall any subproject by running mvn install in the projects subdirectory. This is much faster than recompiling the entire tree.