kopia lustrzana https://github.com/OpenDroneMap/ODM
155 wiersze
5.0 KiB
Bash
Executable File
155 wiersze
5.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [[ $2 =~ ^[0-9]+$ ]] ; then
|
|
processes=$2
|
|
else
|
|
processes=$(nproc)
|
|
fi
|
|
|
|
install() {
|
|
## Set up library paths
|
|
export PYTHONPATH=$RUNPATH/SuperBuild/install/lib/python2.7/dist-packages:$RUNPATH/SuperBuild/src/opensfm:$PYTHONPATH
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RUNPATH/SuperBuild/install/lib
|
|
|
|
## Before installing
|
|
echo "Updating the system"
|
|
add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
|
|
apt-get update
|
|
|
|
echo "Installing Required Requisites"
|
|
apt-get install -y -qq build-essential \
|
|
git \
|
|
cmake \
|
|
python-pip \
|
|
libgdal-dev \
|
|
gdal-bin \
|
|
libgeotiff-dev \
|
|
pkg-config \
|
|
libjsoncpp-dev \
|
|
python-gdal \
|
|
grass-core \
|
|
libssl-dev
|
|
|
|
echo "Getting CMake 3.1 for MVS-Texturing"
|
|
apt-get install -y software-properties-common python-software-properties
|
|
add-apt-repository -y ppa:george-edison55/cmake-3.x
|
|
apt-get update -y
|
|
apt-get install -y --only-upgrade cmake
|
|
|
|
echo "Installing OpenCV Dependencies"
|
|
apt-get install -y -qq libgtk2.0-dev \
|
|
libavcodec-dev \
|
|
libavformat-dev \
|
|
libswscale-dev \
|
|
python-dev \
|
|
python-numpy \
|
|
libtbb2 \
|
|
libtbb-dev \
|
|
libjpeg-dev \
|
|
libpng-dev \
|
|
libtiff-dev \
|
|
libjasper-dev \
|
|
libflann-dev \
|
|
libproj-dev \
|
|
libxext-dev \
|
|
liblapack-dev \
|
|
libeigen3-dev \
|
|
libvtk6-dev
|
|
|
|
echo "Removing libdc1394-22-dev due to python opencv issue"
|
|
apt-get remove libdc1394-22-dev
|
|
|
|
## Installing OpenSfM Requisites
|
|
echo "Installing OpenSfM Dependencies"
|
|
apt-get install -y -qq python-networkx \
|
|
libgoogle-glog-dev \
|
|
libsuitesparse-dev \
|
|
libboost-filesystem-dev \
|
|
libboost-iostreams-dev \
|
|
libboost-regex-dev \
|
|
libboost-python-dev \
|
|
libboost-date-time-dev \
|
|
libboost-thread-dev \
|
|
python-pyproj
|
|
|
|
pip install -U PyYAML==3.13 \
|
|
exifread \
|
|
gpxpy \
|
|
xmltodict \
|
|
appsettings \
|
|
loky \
|
|
repoze.lru \
|
|
rasterio \
|
|
attrs==19.1.0 \
|
|
pyodm==1.5.2b1 \
|
|
Pillow \
|
|
joblib
|
|
|
|
# Fix: /usr/local/lib/python2.7/dist-packages/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
|
|
pip install --upgrade cryptography
|
|
python -m easy_install --upgrade pyOpenSSL
|
|
|
|
|
|
echo "Installing OpenDroneMap Dependencies"
|
|
apt-get install -y -qq python-scipy \
|
|
liblas-bin
|
|
|
|
echo "Installing lidar2dems Dependencies"
|
|
apt-get install -y -qq swig2.0 \
|
|
python-wheel \
|
|
libboost-log-dev
|
|
|
|
echo "Installing split-merge Dependencies"
|
|
pip install -U scipy==1.2.1 numpy==1.15.4 shapely pyproj psutil
|
|
|
|
echo "Compiling SuperBuild"
|
|
cd ${RUNPATH}/SuperBuild
|
|
mkdir -p build && cd build
|
|
cmake .. && make -j$processes
|
|
|
|
echo "Compiling build"
|
|
cd ${RUNPATH}
|
|
mkdir -p build && cd build
|
|
cmake .. && make -j$processes
|
|
|
|
echo "Configuration Finished"
|
|
}
|
|
|
|
uninstall() {
|
|
echo "Removing SuperBuild and build directories"
|
|
cd ${RUNPATH}/SuperBuild
|
|
rm -rfv build src download install
|
|
cd ../
|
|
rm -rfv build
|
|
}
|
|
|
|
reinstall() {
|
|
echo "Reinstalling ODM modules"
|
|
uninstall
|
|
install
|
|
}
|
|
|
|
usage() {
|
|
echo "Usage:"
|
|
echo "bash configure.sh <install|update|uninstall|help> [nproc]"
|
|
echo "Subcommands:"
|
|
echo " install"
|
|
echo " Installs all dependencies and modules for running OpenDroneMap"
|
|
echo " reinstall"
|
|
echo " Removes SuperBuild and build modules, then re-installs them. Note this does not update OpenDroneMap to the latest version. "
|
|
echo " uninstall"
|
|
echo " Removes SuperBuild and build modules. Does not uninstall dependencies"
|
|
echo " help"
|
|
echo " Displays this message"
|
|
echo "[nproc] is an optional argument that can set the number of processes for the make -j tag. By default it uses $(nproc)"
|
|
}
|
|
|
|
if [[ $1 =~ ^(install|reinstall|uninstall|usage)$ ]]; then
|
|
RUNPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
"$1"
|
|
else
|
|
echo "Invalid instructions." >&2
|
|
usage
|
|
exit 1
|
|
fi
|