Hyrax - BES Build Instructions
How to build the BES from either a source code distribution, or directly from our Subversion repository. These instructions are for the latest release of the BES, which is version 3.7.2 used for Hyrax 1.5.2.
- 1 Dependancies
- 2 Optional Dependencies
- 3 OS Special Instructions
- 4 Getting The Source Code
- 5 Building the code
- 6 Installing the BES from source code
- 7 Testing the install
Minimum: gcc 3.x
Recommended: gcc 4.x
This software was developed and tested using gcc 4.0.1 on Intel OS-X. The default compiler was used, version 4.0.1. You can also obtain the compiler using such tools as DarwinPorts on OS-X, package managers on Unix-like machines.
Minimum: autoconf 2.61
Recommended: autoconf 2.61
This software was developed and tested using autoconf 2.61 on Intel OS-X.
Minimum: automake 1.10
Recommended: automake 1.10
This software was developed and tested using automake 1.10 on Intel OS-X. The reason for requiring 1.10 is that there is an issue with building some of the configuration and tests for the BES.
Minimum: libtool 1.5.18
Recommended: libtool 1.5.18
This software was developed and tested using libtool 1.5.18 on Intel OS-X.
This library allows users to edit command lines as they are being typed in. This is used by the BES command line application bescmdln in the interactive mode (the default mode).
Minimum: readline 4.3
Recommended: readline 4.3
This software was developed and tested using readline 4.3 on Intel OS-X.
The BES does not specifically require the libdap libraries. But, to get Dap 2 responses you must have libdap. With libdap you get the DAS, DDS, DataDDS, DDX responses as well as catalog support for THREDDS.
Minimum: libdap 3.9.2
Recommended: libdap 3.9.2
This software was developed and tested using libdap 3.9.2 on Intel OS-X.
2 Optional Dependencies
Openssl is used for a secure server. If you specify BES.ServerSecure=yes (default is no) in the BES Configuration file then a client will be required to authenticate with the BES.
Minimum: openssl 0.9.7
Recommended: openssl 0.9.7
This software was developed and tested using openssl 0.9.7i on Intel OS-X.
In order to run many of the tests in the BES you will need dejagnu. We are in the process of converting our tests to use autotest, which will remove this dependency. If you wish to run 'make check', then you will need dejagnu.
Minimum: dejagnu 1.4.4
Recommended: dejagnu 1.4.4
This BES software was tested using dejagnu 1.4.4 on Intel OS-X.
3 OS Special Instructions
3.1 Intel Mac OS-X
We had some issues developing on the Intel Mac. Specifically, we had to use DarwinPorts to get autoconf, automake and libtool. No other package managers worked and even building the packages from source failed. So, if you are on an Intel Mac, use DarwinPorts to install autoconf, automake, and libtool in that order.
4 Getting The Source Code
4.1 As A Source Code Distribution
The most recent source code distribution will available at both the Hyrax download page and the BES download page. If you are attempting to build the BES in conjunction with the OLFS - for example you are building Hyrax - then get both the source distributions from the same Hyrax release on the Hyrax download page, other wise you may experience compatibility issues.
Go get the source code bundle. It will be a file named something like bes-x.x.x.tar.gz
Unpack the bundle using the command:
tar zxvf bes-x.x.x.tar.gz
This will unpack the source code distribution into a directory called bes.x.x.x
4.2 From Subversion
- Check out the software for the BES from our Subversion repository located at http://scm.opendap.org:8090/svn/trunk/bes:
5 Building the code
Building the OLFS software should be very simple.
- Enter the top level directory of the bes source code tree (bes if you got the source code from Subversion, bes-.x.x.x if you got it from a distribution bundle.)
- Run the command:
This will create the configuration scripts
- Run the command:
This will run the configuration script to make sure that you have all the required dependencies met and will also generate Makefiles and other configuration files needed to build the BES and to run the BES.
You may want to change some of the configuration options. Please refer to the README and INSTALL files in the top level directory for configuration options. You can also run
to get more options. The most commonly used option is the --prefix=<directory> option, which tells the build to install the bes into the specified directory. The default directory is /usr/local.
- Run the command:
This will build the BES code
- Run the command:
This will test to make sure that you have a successful build of the BES.
6 Installing the BES from source code
Run the command:
This will install the BES into /usr/local if no --prefix was specified on the configure line, or in the specified directory if you did use the --prefix option.
Make sure that the BES bin directory is in your PATH. For example, if you installed the BES in the default location, the directory /usr/local/bin should be on your path. If you installed it in a non-standard location, then you will need to update your PATH environment variable. For example, if you installed the bes into /usr/local/bes, then make sure that /usr/local/bes/bin is on your PATH.
7 Testing the install
Try running the following to make sure that the install was successful.
You should see the version of the bes that you just installed.
Now, let's try to run the BES. Try typing the following on the command line:
You should see something like this:
BES install directory: /usr/local BES configuration file: /usr/local/etc/bes/bes.conf Starting the BES daemon Unix socket name: /tmp/opendap.socket PID: 10491 UID: 6779
And then you should be able to run the bescmdln application. After running it you should see a prompt. Type in the command
show version;, and then type in the command
bescmdln -h localhost -p 10002 Type 'exit' to exit the command line client and 'help' or '?' to display the help screen BESClient> show version; <?xml version="1.0" encoding="UTF-8"?> <showVersion> <response> <BES> <lib> <name>bes</name> <version>3.4.1</version> </lib> </BES> <Handlers> <DAP> <version>2.0</version> <version>3.0</version> <version>3.2</version> </DAP> </Handlers> </response> </showVersion> BESClient> exit