# 1.2. Compiling OTB from source

We used the instructions in this webpage: compiling OTB

We went through SuperBuild installation : Build OTB and all dependencies

• Only change the following command in the instructions to this:

$cmake -D OTB_USE_SHARK=ON CMAKE_INSTALL_PREFIX=~/OTB/install ../otb/SuperBuild to turn on SHARK after compiling. During the procedure we get some errors, and we solved them as follow: 1. SWIG installation run this command $sudo apt install SWIG

2. Error for EXPAT

The old version of EXPAT (expat-2.3.0.tar.gz)is no longer available with previous url, so we manually downloaded from here and replaced it in this directory: /home/user/OTB/build/EXPAT/src

3. SQLITE version incompatibility

–> delete sqlite.zip in this directory: /home/user/OTB/build/SQLITE/src

–> delete all the lines inside “.log” files in this directory /home/user/OTB/build/SQLITE/src/SQLITE-stamp to install sqlite again

–> change the url in this file: /home/user/OTB/build/SQLITE/src/SQLITE-stamp/SQLITE-urlinfo.txt

• I highly recommand not to add the OTB directory to PATH because of some gdal confusions, instead you can run it from it’s directory everytime; like this:

~/OTB/superbuild_install/bin/otbcli_KMeansClassification

You can use the instructions on this page for better understanding of KMeansClassification with otb