Darwin
1.10(beta)
|
Select the appropriate stable release from here or check out directly from the repository by following the instructions below.
For the development branch use:
or
For a stable release (e.g., <x>.<y>) use:
Here $DARWIN
refers to the name of the base Darwin directory.
After downloading or checking out the main Darwin codebase third-party projects can be installed in $DARWIN/projects
along with the released Darwin projects. They will then be automatically built when you build the Darwin projects.
DRWN_PROJECTS
variable in your make.local
file.The following instructions assume that you have downloaded or checked out the code and have changed to the base Darwin directory (i.e., $DARWIN
). Before building Darwin you will need to install a number of external libraries that are required by the main Darwin libraries or optionally used by the specific projects you'd like to compile. If you have any of these libraries pre-installed on your system you can just create symbolic links to them, e.g.:
You may also need to install some system build tools (see Installing Build Tools and External Libraries below).
The required libraries can be installed using a C-shell script included in the $DARWIN/external
directory. (You will need to have the csh
shell installed). The commands to install them are:
If something goes wrong with the install script you can try following the detailed install instructions.
The optional libraries can be installed with:
Make sure you update your LD_LIBRARY_PATH
variable to avoid runtime errors:
After the external libraries are installed, you can build the Darwin libraries, applications and projects. See make.local below for how to control the build process.
You can also build specific projects using
You can control how the Darwin libraries get built by setting various flags in a file called make.local
in the base directory. A typical make.local
file might look like:
If you choose to link to shared libraries (recommended) then you will need to add the darwin/bin
path to your LD_LIBRARY_PATH
environment variable.
The following table details the various build options that can be set in make.local
.
Option | Description | Default |
DRWN_FORCE_32BIT | Force 32-bit build even on 64-bit environments. This is useful if you are deploying your applications on heterogeneous (32-bit and 64-bit) clusters. | 0 |
DRWN_DEBUG_SYMBOLS | Include debugging information in binaries. | 0 |
DRWN_SHARED_LIBS | Build and link to shared libraries. | 1 |
DRWN_BUILD_VISION_LIB | Force building the vision library. | 1 if OpenCV is installed 0 otherwise |
Additional debugging/statistics information can be included by defining the following compiler symbols: DRWN_DEBUG_STATISTICS
, DRWN_FACTOR_DEBUG_STATISTICS
.
The following commands will install the a number of packages required to build Darwin libraries and applications on Ubuntu systems. You will need superuser privledges to install these packages.
Third-party libraries required by Darwin (and associated projects) can be installed as described above. However, if something goes wrong you may need to install these libraries manually. The following describes that process.
"Eigen Linear Algebra Library"
mv
step fails, check the directory name and modify appropriately."OpenCV Computer Vision Library"
Make sure the file external/opencv/lib/pkgconfig/opencv.pc
exists. If not you have probably installed OpenCV in the wrong location.
If you experience linker problems (e.g., "/usr/bin/ld: error: cannot find -lcudart"
) then try compiling OpenCV without CUDA support by adding "-D WITH_CUDA=OFF"
to the cmake
command above.
Building the Matlab project requires Matlab to be installed on the system and a symbolic link setup in the external directory, e.g.,
Furthermore, the Matlab library directory should be added to the path,
If you are running Darwin on the NCI cluster machines then you will need to follow these instructions. Before installing externals:
Add to .login
or .profile
The following is a sample Makefile that demonstrates how to link the Darwin libraries from external projects