Created
May 6, 2017 16:36
-
-
Save pelrun/bdd3c09c22d25cfe4dae8e83f05f3aae to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "JeVois easy install 1.0 for Ubuntu 16.10 -- Welcome." | |
#################################################################################################### | |
read -p "Install Ubuntu packages needed by JeVois [Y/n]? " | |
if [ "X$REPLY" != "Xn" ]; then | |
sudo apt-get update | |
packages=( | |
build-essential gcc-6 g++-6 guvcview subversion cmake emacs git mercurial doxygen-gui graphviz | |
libboost-all-dev libjpeg-turbo8-dev autoconf libeigen3-dev screen lsb lib32stdc++6 | |
gcc-4.7-arm-linux-gnueabi gcc-6-arm-linux-gnueabihf g++-6-arm-linux-gnueabihf gawk u-boot-tools | |
libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev | |
libpng-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev | |
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev | |
libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev | |
libxvidcore-dev x264 v4l-utils unzip qt5-default python3-numpy | |
) | |
failed="" | |
for pack in "${packages[@]}"; do | |
sudo apt-get --assume-yes install $pack | |
if [ $? -ne 0 ]; then failed="$failed $pack"; fi | |
done | |
if [ "X$failed" != "X" ]; then | |
echo | |
echo | |
echo "### WARNING: Some packages failed to install #####" | |
echo | |
echo "Install failed for: $failed" | |
echo | |
echo | |
fi | |
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-4.7 /usr/bin/arm-linux-gnueabi-gcc | |
fi | |
#################################################################################################### | |
read -p "Add JeVois environment variables to ~/.bashrc and create /jevois [Y/n]? " | |
if [ "X$REPLY" != "Xn" ]; then | |
echo "export JEVOIS_SRC_ROOT=${PWD}" >> ~/.bashrc | |
echo 'export JEVOIS_ROOT=/jevois' >> ~/.bashrc | |
sudo /bin/rm -rf /jevois | |
sudo mkdir /jevois | |
sudo chown ${USER}.${USER} /jevois | |
export JEVOIS_SRC_ROOT=${PWD} | |
export JEVOIS_ROOT=/jevois | |
fi | |
#################################################################################################### | |
read -p "Compile and install OpenCV 3.2 to /usr/local [Y/n]? " | |
if [ "X$REPLY" != "Xn" ]; then | |
cd opencv32/opencv-3.2.0 | |
sudo /bin/rm -rf build | |
mkdir build | |
cd build | |
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_TBB=ON -DWITH_V4L=ON -DWITH_QT=ON -DWITH_OPENGL=OFF -DWITH_VTK=OFF -DWITH_CUDA=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DWITH_PYTHON=OFF -DBUILD_EXAMPLES=ON -DINSTALL_C_EXAMPLES=OFF -DOPENCV_EXTRA_MODULES_PATH=${JEVOIS_SRC_ROOT}/opencv32/opencv_contrib-3.2.0/modules -DBUILD_opencv_hdf=OFF -DENABLE_PRECOMPILED_HEADERS=Off .. | |
np=`grep processor /proc/cpuinfo | wc -l` | |
if [ $np -lt 1 -o $np -gt 512 ]; then np=2; fi | |
make -j $np | |
sudo make install | |
cd .. | |
fi | |
#################################################################################################### | |
read -p "Add /usr/local/lib to ldconfig [Y/n]? " | |
if [ "X$REPLY" != "Xn" ]; then | |
sudo sh -c 'echo /usr/local/lib > /etc/ld.so.conf.d/jevois' | |
sudo ldconfig | |
fi | |
#################################################################################################### | |
read -p "Compile and install jevois and jevoisbase for host computer [Y/n]? " | |
if [ "X$REPLY" != "Xn" ]; then | |
cd ${JEVOIS_SRC_ROOT}/jevois | |
./rebuild-host.sh # compile jevois for host | |
cd hbuild | |
make doc # compile the documentation | |
cd ${JEVOIS_SRC_ROOT}/jevoisbase | |
./rebuild-host.sh # compile jevoisbase for host | |
sudo ldconfig # make sure the system knows where to find libjevois.so | |
fi | |
#################################################################################################### | |
read -p "Cross-compile jevois and jevoisbase for embedded platform hardware [Y/n]? " | |
if [ "X$REPLY" != "Xn" ]; then | |
# avoid odd error about libisl.so.13 not found on vbox hosts: | |
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:${JEVOIS_SRC_ROOT}/jevois-sdk/out/sun8iw5p1/linux/common/buildroot/host/usr/lib | |
cd ${JEVOIS_SRC_ROOT}/jevois | |
./rebuild-platform.sh # cross-compile jevois for embedded platform hardware | |
cd ${JEVOIS_SRC_ROOT}/jevoisbase | |
./rebuild-platform.sh # cross-compile jevoisbase for embedded platform hardware | |
sudo ldconfig # make sure the system knows where to find libjevoisbase.so | |
fi | |
echo "JeVois easy install 1.0 for Ubuntu 16.10 -- DONE." | |
echo "Plugin a USB camera and type: 'jevois-daemon' to try it out." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment