Building external dependencies for CentOS 7 with Devtoolset - acidrainstudios/TrueReality GitHub Wiki

Building External Dependencies

True Reality v0.1 Dependencies List

For best results, build the dependencies in the order they are listed. Some of them depend on others. Furthermore, some compilations require environment variables to be set. Please verify you have setup all the TR Environment Variables first.

Linux

[Notes]

  • Before running any of the commands below, make sure you are using the correct version of devtoolset you would like to use. This can be done by running . /opt/rh/devtoolset-X/enable, where X is the version number you'd like to use.
  • All install paths in the processes below use "$TR_ROOT/Ext" as the install path. You will have to make sure the environment variables are setup for Linux before running this command.
  • You can use any number instead of the 7 in the make -j7 install commands below. This is the number of threads used when compiling.
  1. YASM 1.3.0
  • Download YASM 1.3.0
  • In terminal, go to the folder in which you downloaded the source and run the following:
       unzip yasm-1.3.0.zip
       cd yasm-1.3.0
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          ../
       make -j7 install
    
  1. GLEW 2.1.0
  • Download GLEW 2.1.0
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf glew-2.1.0.tgz
       cd glew-2.1.0
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DOpenGL_GL_PREFERENCE=GLVND \
          ../build/cmake
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DOpenGL_GL_PREFERENCE=GLVND \
          ../build/cmake
       make -j7 install
    
  1. Boost 1.69.0
  • Download Boost 1.69.0
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf boost_1_69_0.tar.gz
       cd boost_1_69_0
       ./bootstrap.sh
       ./b2 tools/bcp
       ./dist/bin/bcp \
          --boost=. \
          --namespace=trBoost \
          --scan \
          $TR_ROOT/src/trBase/UniqueId.cpp \
          $TR_ROOT/include/trBase/UniqueId.h \
          $TR_ROOT/Ext/include
    
  1. Jsoncpp 1.8.4
  • Download Jsoncpp 1.8.4
  • In terminal, go to the folder in which you downloaded the source and run the following:
       unzip jsoncpp-1.8.4.zip
       cd jsoncpp-1.8.4
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DBUILD_SHARED_LIBS=ON \
          -DBUILD_STATIC_LIBS=OFF \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DJSONCPP_WITH_TESTS=OFF \
          -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF \
          -DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF \
          -DJSONCPP_WITH_CMAKE_PACKAGE=OFF \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DBUILD_SHARED_LIBS=ON \
          -DBUILD_STATIC_LIBS=OFF \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DJSONCPP_WITH_TESTS=OFF \
          -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF \
          -DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF \
          -DJSONCPP_WITH_CMAKE_PACKAGE=OFF \
          ../
       make -j7 install
    
  1. Google Test 1.8.1
  • Download Google Test 1.8.1
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf googletest-release-1.8.1.tar.gz
       cd googletest-release-1.8.1
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          ../
       make -j7 install
    
  1. Zlib 1.2.11
  • Download zlib 1.2.11
  • In terminal, go to the folder in which you downloaded the source and run the following:
       unzip zlib-1.2.11.zip
       cd zlib-1.2.11
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          ../
       make -j7 install
       cd ../build-release
    
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          ../
       make -j7 install
    
  1. FFmpeg n3.4.4
  • Download FFmpeg n3.4.4
  • In terminal, go to the folder in which you downloaded the source and run the following:
       unzip FFmpeg-n3.4.4.zip
       cd FFmpeg-n3.4.4
       ./configure \
          --arch=x86_64 \
          --disable-static \
          --enable-shared \
          --enable-x86asm \
          --enable-asm \
          --enable-ffplay \
          --prefix=$TR_ROOT/Ext
       make -j7 install
    
  1. LibJpeg 9c
  • Download LibJpeg 9c
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf jpegsrc.v9c.tar.gz
       cd jpeg-9c
       ./configure --prefix=$TR_ROOT/Ext
       make -j7 install
    
  1. LibPng 1.6.32
  • Download LibPng 1.6.32
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf libpng-1.6.32.tar.gz
       cd libpng-1.6.32
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DOpenGL_GL_PREFERENCE=GLVND \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DOpenGL_GL_PREFERENCE=GLVND \
          ../
       make -j7 install
    
  1. LibTiff 4.0.9
  • Download LibTiff 4.0.9
  • In terminal, go to the folder in which you downloaded the source and run the following:
       unzip tiff-4.0.9.zip
       cd tiff-4.0.9
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DOpenGL_GL_PREFERENCE=GLVND \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DOpenGL_GL_PREFERENCE=GLVND \
          ../
       make -j7 install
    
  1. GDAL 2.2.4
  • Download GDAL 2.2.4
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf gdal-2.2.4.tar.gz
       cd gdal-2.2.4
       ./configure --prefix=$TR_ROOT/Ext
       make -j7
       make install
    
  1. FreeType 2.9.1
  • Download FreeType 2.9.1
  • In terminal, go to the folder in which you downloaded the source and run the following:
       tar -zxvf freetype-2.9.1.tar.gz
       cd freetype-2.9.1
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DCMAKE_C_FLAGS=-fPIC \
          -DPNG_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libpng16d.so \
          -DPNG_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libpng16.so \
          -DPNG_PNG_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DZLIB_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DZLIB_LIBRARY_DEBUG=$TR_ROOT/Ext/lib/libzd.so \
          -DZLIB_LIBRARY_RELEASE=$TR_ROOT/Ext/lib/libz.so \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DCMAKE_C_FLAGS=-fPIC \
          -DPNG_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libpng16d.so \
          -DPNG_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libpng16.so \
          -DPNG_PNG_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DZLIB_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DZLIB_LIBRARY_DEBUG=$TR_ROOT/Ext/lib/libzd.so \
          -DZLIB_LIBRARY_RELEASE=$TR_ROOT/Ext/lib/libz.so \
          ../
       make -j7 install
    
  1. Open Scene Graph 3.6.3
  • Download Open Scene Graph 3.6.3
  • In terminal, go to the folder in which you downloaded the source and run the following:
       unzip OpenSceneGraph-OpenSceneGraph-3.6.3.zip
       cd OpenSceneGraph-OpenSceneGraph-3.6.3
       mkdir {build-release,build-debug}
       cd build-debug
       cmake \
          -DCMAKE_BUILD_TYPE=Debug \
          -DCMAKE_DEBUG_POSTFIX=d \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DFREETYPE_INCLUDE_DIR_freetype2=$TR_ROOT/Ext/include \
          -DFREETYPE_INCLUDE_DIR_ft2build=$TR_ROOT/Ext/include/freetype2 \
          -DFREETYPE_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libfreetyped.a \
          -DFREETYPE_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libfreetype.a \
          -DOpenGL_GL_PREFERENCE=LEGACY \
          -DOSG_GL3_AVAILABLE=ON \
          -DOSG_USE_FLOAT_BOUNDINGBOX=OFF \
          -DOSG_USE_FLOAT_BOUNDINGSPHERE=OFF \
          -DPNG_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libpng16d.so \
          -DPNG_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libpng16.so \
          -DPNG_PNG_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DTIFF_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DTIFF_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libtiffd.so \
          -DTIFF_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libtiff.so \
          -DZLIB_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DZLIB_LIBRARY_DEBUG=$TR_ROOT/Ext/lib/libzd.so \
          -DZLIB_LIBRARY_RELEASE=$TR_ROOT/Ext/lib/libz.so \
          ../
       make -j7 install
       cd ../build-release
       cmake \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_PREFIX=$TR_ROOT/Ext \
          -DFREETYPE_INCLUDE_DIR_freetype2=$TR_ROOT/Ext/include \
          -DFREETYPE_INCLUDE_DIR_ft2build=$TR_ROOT/Ext/include/freetype2 \
          -DFREETYPE_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libfreetyped.a \
          -DFREETYPE_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libfreetype.a \
          -DOpenGL_GL_PREFERENCE=LEGACY \
          -DOSG_GL3_AVAILABLE=ON \
          -DOSG_USE_FLOAT_BOUNDINGBOX=OFF \
          -DOSG_USE_FLOAT_BOUNDINGSPHERE=OFF \
          -DPNG_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libpng16d.so \
          -DPNG_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libpng16.so \
          -DPNG_PNG_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DTIFF_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DTIFF_LIBRARY_DEBUG=$TR_ROOT/Ext/lib64/libtiffd.so \
          -DTIFF_LIBRARY_RELEASE=$TR_ROOT/Ext/lib64/libtiff.so \
          -DZLIB_INCLUDE_DIR=$TR_ROOT/Ext/include \
          -DZLIB_LIBRARY_DEBUG=$TR_ROOT/Ext/lib/libzd.so \
          -DZLIB_LIBRARY_RELEASE=$TR_ROOT/Ext/lib/libz.so \
          ../
       make -j7 install