#!/bin/sh # # Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES) # # This file is part of Orfeo Toolbox # # https://www.orfeo-toolbox.org/ # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # set -e # verify basic tools are here which sh >/dev/null 2>&1 || ret=$? if [ ! -z "$ret" ] ; then echo "ERROR: Missing tool 'which'"; exit 1 ; fi for tool in dirname find file grep cut sed chmod cat readlink ; do if [ -z "$(which $tool)" ] ; then echo "ERROR: Missing tool '${tool}'" echo "Please install it and make sure it can be found from PATH" exit 1; fi done DIRNAME_0=$(dirname "$0") cd "$DIRNAME_0" # NOTE: $OUT_DIR is also used in make_sylinks script (see below) # Avoid any pre-mature optimization on variable names here. OUT_DIR=$(pwd) #do not move below block. it must be before "unset LD_LIBRARY_PATH" code #check if we have any python bindings if [ -f "$OUT_DIR/lib/python/_otbApplication.so" ] ; then chmod +x "$OUT_DIR/setup_python.sh" ./setup_python.sh || setup_python_ret=$? fi # No no interference with LD_LIBRARY_PATH unset LD_LIBRARY_PATH # we remove files in $OUT_DIR/lib/gtk which we CANNOT add new rpath BINARY_FILES=$(find "./lib" "./bin" "./plugins" -type f -exec file {} \; | grep -v '/lib/gtk/' | grep -i ': elf ' | cut -f1 -d':') # run patchelf for bin_file in $BINARY_FILES; do #echo "adding rpath to $bin_file" ./patchelf "--set-rpath" "$OUT_DIR/lib" "$bin_file" done #install uninstall_otb script echo "Installing uninstall script for OTB 'tools/uninstall_otb.sh'" sed -i -E "s,OUT_DIR,$OUT_DIR,g" "$OUT_DIR/tools/uninstall_otb.sh" chmod +x "$OUT_DIR/tools/uninstall_otb.sh" sed -i -E "s,OUT_DIR,$OUT_DIR,g" "$OUT_DIR/monteverdi.sh" chmod +x "$OUT_DIR/monteverdi.sh" sed -i -E "s,OUT_DIR,$OUT_DIR,g" "$OUT_DIR/mapla.sh" chmod +x "$OUT_DIR/mapla.sh" sed -i -E "s,OUT_DIR,$OUT_DIR,g" "$OUT_DIR/otbenv.profile" chmod +x "$OUT_DIR/otbenv.profile" sed -i -E "s,Prefix=..,Prefix=$OUT_DIR,g" "$OUT_DIR/bin/qt.conf" #echo "Creating symbolic links..." . ./make_symlinks rm -f "$OUT_DIR/make_symlinks" printf %s\\n "" printf %s\\n "source './otbenv.profile' file to set required environment variables" printf %s\\n "eg: '. $OUT_DIR/otbenv.profile'" printf %s\\n "You can also copy above line to ~/.profile to keep changes permanently!" printf %s\\n "More documentation can be found in $OUT_DIR/README" #rm -f "$OUT_DIR/make_symlinks" rm -f "$OUT_DIR/patchelf" rm -f "$OUT_DIR/setup_python.sh" rm -f "$OUT_DIR/pkgsetup"