Building the OpenDA native source code (Linux)
This page describes how to build the OpenDA native source code on Linux computers. The source code is located in the
core/native
directory of the source distribution. On Linux, the native sources are compiled using the
GNU Automake system
Directory scripts of the source distribution contains a script openda_build_native.sh that
may be useful to compile the native code. It was tested for Ubuntu 8.04 lts 32-bit only. In this script, you
will recognize the steps described below.
Building step-by-step
- The first step is starting the configure script, usually through ./configure (to ensure the script you
are starting is the one in the current directory and not another one from the search path). This will detect the configuration of
the computer being used and will warn when specific requirements are not met. When all requirements are met, make files will be
generated. It is possible to alter the behaviour of the configure script by using command-line arguments. The most
important ones are:
- --help will list all options with some help text.
- --prefix=PATH indicates the place the library should be copied to after make install.
- --disable-mpi disables MPI.
- --with-blas=PATH indicates the location of the BLAS library. By default, an unoptimized BLAS library is
used.
- --with-lapack=PATH indicates the location of the LAPACK library, an unoptimized LAPACK library is used.
- --with-jdk=PATH indicates the location of the Java Development Kit (JDK) if it differs from the value of $JAVA_HOME.
- --with-jikes=PATH indicates the location of the Jikes Java compiler in case that compiler is to be used.
Default: no.
Do not forget to scan the configure output for warnings. Those are often very informative.
- The second step is using make to build (compile and link) the source files.
- The final step is copying the resulting libraries (and executables) to the place specified using configure's --prefix=
command-line argument. This step is activated by make install.
The Automake system also generated the other usual
make
options (like
make clean
). It is unlikely that you want to remove the libraries and executables you just built, but in case you want to, this is nice to
know.
Note about OpenMPI
There is a known problem with OpenMPI versions 1.3 and 1.4 where an external dependency
mca_base_param_reg_int
cannot be found during run-time. This can be avoided by recompiling OpenMPI itself. Use command-line arguments
--enable-shared --enable-static
when running the
config
script.