1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#!/bin/sh
#
# Copyright (C) 2005-2020 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"
|