TerraLib and TerraView Wiki Page

This is an old revision of the document!


TerraLib Developer's Guide - Third Party Dependencies

The file named DEPENDENCIES in the root of TerraLib source tree contains the up-to-date list of third-party libraries and tools that you must install before building TerraLib from source.

If you want to build yourself TerraLib/TerraView then you need to install some third-party libraries.

Below we show the list of third-party libraries dependencies and its versions1):

  • CMake (Mandatory): The TerraLib build system relies on CMake. Please, download and install CMake version 2.8.12 (preferable version 3.X).
  • Boost (Mandatory): TerraLib is built on top of Boost libraries. You will need to have them installed in order to build TerraLib. Make sure to have at least version 1.54.0 installed. If you prefer to install from source, download it from: http://www.boost.org.
  • Qt (Optional): Make sure you have an installed Qt version 5.4.1 or later. Linux users may use any package manager to perform an easy installation. Mac OS X can use package managers such as Homebrew or MacPorts in order to have an easy installation. If you prefer to install from source, download it from: http://qt-project.org/downloads.
  • QtPropertyBrowser (Optional if Qt is not used): QtPropertyBrowser is a free and open source Qt component. We have been using a especial port of QtPropertyBrowser that you can find inside of our third-party packages sources.
    You can extract the qtpropertybrowser.tar.gz files using:
$ tar xzvf qtpropertybrowser.tar.gz

Then, run qmake specifying the installation directory:

$ qmake "TERRALIB_DIR=install_dir"

Finally, run make and make install:

$ make
$ make install
  • Qwt (Optional if Qt is not used): Qwt is available from http://qwt.sourceforge.net. Make sure to have at least version 6.1.0 installed.
  • GDAL (Optional): GDAL is available from http://www.gdal.org. Make sure to have at least version 2.0.0 installed.
  • PostgreSQL libpq (Optional): libpq is available with PostgreSQL source from http://www.postgresql.org. Make sure to have at least libpq for PostgreSQL version 9.1.0 installed.
  • Microsoft ADO .Net (Optional): This is available only for Microsoft Windows and it is installed in general under a folder such as:
C:\Program Files (x86)\Common Files\System\ado
C:\Program Files (x86)\Common Files\System\Ole DB

Third party dependencies binaries for Microsot Visual C++ for Windows

For Microsoft Visual C++ users we have prepared a zip file containing all the third-party libraries in a binary format. You can download this package from http://www.dpi.inpe.br/terralib5-devel/3rdparty/bin.

To work with 'develop' branch take the zip from the root dir. To work with 'release-5.y' branch go to the correct subdirectory named 5.y and take the zip.

In that folder you will find all the third-party libraries for building a 64-bit version of Terralib with Qt 5.4.1 support.

Microsoft Windows users that have downloaded the 3rdparty (in the TerraLib site) must install Qt 5.4.1.

Automatic Build of Third-party Dependencies with Shell Scripts (Linux/MacOS/Windows)

We have prepared some special shell scripts for building and installing the dependencies on specific platforms. Check the source code structure and find the shell script files under install folder.

Linux Ubuntu 14.04 and 16.04

The Linux Ubuntu bash script can be found in TerraLib source tree under install folder.

Follow the steps:

  • Open the shell command line and call the script install-3rdparty-linux-ubuntu-14.04.sh (or the Ubuntu 16.04 one) setting the target to install all the stuffs from these third-party libraries and tools:
$ TERRALIB_DEPENDENCIES_DIR="/home/user/mylibs" ./install-3rdparty-linux-ubuntu-14.04.sh

Warning: Don't choose as target location a system folder such as /usr or /usr/local. Try some user specific folder. The best suggestion is to replace the folder named user by your user name.

Mac OS X

The Mac OS X bash script can be found in TerraLib source tree under install folder.

Follow the steps:

  • Open the shell command line.
  • Make sure your Qt and CMake environment can be found in your PATH:
$ export PATH=$PATH:/Users/user/Qt5.4.1/5.4/clang_64/bin:/Applications/CMake.app/Contents/bin
  • In the shell command line, call the script install-3rdparty-macosx-el-capitan.sh (or the Sierra one) setting the target to install all the stuffs from these third-party libraries and tools:
$ TERRALIB_DEPENDENCIES_DIR="/Users/user/mylibs" ./install-3rdparty-macosx-el-capitan.sh

Warning: Don't choose as target location a system folder such as /usr or /usr/local. Try some user specific folder. The best suggestion is to replace the folder named *user* by your user name.

Microsoft Windows with Visual C++ 2013

The Microsoft Windows with Visual C++ 2013 shell script can be found in TerraLib source tree under install folder.

Follow the steps:

  • Unpack it in a folder like C:/my_win3rdparty. The tree structure will be:
C:/my_win3rdparty/terralib-3rdparty-msvc12/
C:/my_win3rdparty/build_all.bat
C:/my_win3rdparty/build_all_x64.bat
  • Open build_all_x64.bat and make sure TERRALIB_X64=1.
  • Open build_all.bat file and change the two variables to reflect your environment:
:: Where to install the third-parties (this folder will be referenced by CMAKE when building terralib5)
set TERRALIB_DEPENDENCIES_DIR=C:\MyDevel\my-3rds
:: Where is the TerraLib5 codebase (git clone)
set TERRALIB5_CODEBASE_PATH=C:\MyDevel\terralib5
  • Check if the other variables are reflecting your environment and change it when necessary
:: Where is cmake.exe
:: Where is qmake.exe
:: Where is win32.mak file of the system.
:: Where is the visual studio 64 bits setting environment file (vcvars64.bat)
:: Calling the script on TerraLib5 - is pointing to the batch file that will be called from here (%TERRALIB5_CODEBASE_PATH%\install\install-3rdparty.bat)
  • Make sure your Qt and CMake environment can be found in your PATH (is is not necessary)
  • Disable the hibernation option on Control Panel\Power Options
  • Run the C:/my_win3rdparty/build_all_x64.bat
  • Check the dependencies generated at TERRALIB_DEPENDENCIES_DIR/lib

Warning:If you need to re-run the build_all.bat, remove the C:/my_win3rdparty/ and unzip the terralib-3rdparty-msvc12.zip file again because the script is not prepared to overwrite files generated under this folder and will crash.


Now that you have prepared the working environment, please, read the Build Instructions section.

1) if you want to build the 3rd-party dependencies for TerraLib from source, first take a look at the section Automatic Build of Third-party Dependencies with Shell Scripts and read the right tip for automatically building the dependencies in your platform.
2) from your local codebase folder