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):
$ 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
C:\Program Files (x86)\Common Files\System\ado C:\Program Files (x86)\Common Files\System\Ole DB
python-3.6.6-amd64.exe
.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 Qt5.12.3 support.
Microsoft Windows users that have downloaded one of the file 3rdparty zip must install the same version of Qt used to generate it, i.e., Qt5.13.3.
Also, the same lib Python version used to generate the zip must be installed in your environment. In this example python-3.6.6-amd64.exe
.
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.
Example of how to execute the old script: Open the shell command line. Goto the directory where the script was copied. Call the script install-3rdparty-linux-generic.sh setting the target to install all the stuffs from these third-party libraries and tools:
$> QT5_BASE_DIR="/home/user/Qt/" TERRALIB_DEPENDENCIES_DIR="/home/user/mylibs" PATH=/home/user/Qt/5.12.3/gcc_64/bin/:$PATH ./install-3rdparty-linux-generic.sh
Warning: Some native system libraries may be required for the build process. The respective development packages must be installed as required.
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.
You might need to install the right version of some stuffs in order to get the 3rdparty generated. For example, if you get this error msg,“Cannot find a C++ compiler supporting C++11 on this system”:
Others stuffs needed on Ubuntu because of cmake:
Others stuffs needed on Ubuntu in order to generate terralib 3rdparty:
The Linux Ubuntu bash script can be found in TerraLib source tree under install folder.
Follow these steps if you are working on 'develop' branch:
Follow these steps if you are working on 'release-5.y' branch:
Copy one of the scripts (from your local codebase folder) to the same folder you have downloaded the 3rdparty package:
Open the shell command line and call the script install-3rdparty-linux-ubuntu-18.04.sh (or the Ubuntu 16.04 one) setting the target to install all the stuffs from these third-party libraries and tools:
:: For terralib version < 5.5.2 use: $> TERRALIB_DEPENDENCIES_DIR="/home/user/mylibs" ./install-3rdparty-linux-ubuntu-18.04.sh $> TERRALIB_DEPENDENCIES_DIR="/home/user/mylibs" ./install-3rdparty-linux-ubuntu-16.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.
The Mac OS X bash script can be found in TerraLib source tree under install folder.
Follow these steps if you are working on 'develop' branch:
Follow these steps if you are working on 'release-5.y' branch:
Open the shell command line.
Make sure your Qt and CMake environment can be found in your PATH:
$ export PATH=$PATH:/usr/local/Cellar/autoconf/2.69/bin:/Users/user/Qt5.12.3/5.12.3/clang_64/bin:/Applications/CMake.app/Contents/bin or $ export PATH=$PATH:/Users/user/Qt5.12.3/5.4/clang_64/bin:/Applications/CMake.app/Contents/bin
In the shell command line, call the script install-3rdparty-macos-sierra.sh setting the target to install all the stuffs from these third-party libraries and tools:
$ TERRALIB_DEPENDENCIES_DIR="/Users/user/mylibs" ./install-3rdparty-macos-sierra.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.
The Microsoft Windows with Visual C++ 2017 shell script can be found in TerraLib source tree under install folder.
Follow the steps according with the branch you are working on:
C:/my_win3rdparty/terralib-3rdparty-msvc17/ C:/my_win3rdparty/build_all.bat C:/my_win3rdparty/build_all_x64.bat
:: Where to install the third-parties (this folder will be referenced by CMAKE when building terralib5) set TERRALIB_DEPENDENCIES_DIR=C:\terralib5-3rdparty-msvc-2017-win64 :: Where is the TerraLib5 codebase set TERRALIB5_CODEBASE_PATH=C:\MyDevel\terralib5
:: Where is cmake.exe set "CMAKE_FILEPATH=%PROGRAMFILES%\CMake\bin" :: Where is qmake.exe set "QMAKE_FILEPATH=C:\Qt\5.12.3\msvc2017_64\bin" :: Where is vcvars (visual studio 64 bits setting environment file (vcvars64.bat)) set "VCVARS_FILEPATH=%PROGRAMFILES(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build" :: Calling the script on TerraLib5 - is pointing to the batch file that will be called from here ( %TERRALIB5_CODEBASE_PATH%\install\install-3rdparty-msvc17.bat)
Control Panel\Power Options
Warning:If you need to re-run the build_all.bat, remove the C:/my_win3rdparty/ and unzip the terralib-3rdparty-msvc17.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.
The Microsoft Windows with Visual C++ 2013 shell script can be found in TerraLib source tree under install folder.
Follow the steps according with the branch you are working on:
C:/my_win3rdparty/terralib-3rdparty-msvc12/ C:/my_win3rdparty/build_all.bat C:/my_win3rdparty/build_all_x64.bat
:: 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 set TERRALIB5_CODEBASE_PATH=C:\MyDevel\terralib5
:: 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)
Control Panel\Power Options
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.