publish master branch snapshot, revision cdcab9d7ab48ffb0ee5629fabbfa06cb45debd9b
This commit is contained in:
44
scripts/install_dependencies/install_4_14_kernel.sh
Normal file
44
scripts/install_dependencies/install_4_14_kernel.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
# Copyright (c) 2018-2019 Intel Corporation
|
||||
#
|
||||
# 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.
|
||||
|
||||
# This script installs Linux kernel 4.14 required for Intel NEO OpenCL driver on Ubuntu and CentOS
|
||||
|
||||
if grep -i "rhel" /etc/os-release &>/dev/null; then
|
||||
# Cent OS
|
||||
echo "install kernel build dependencies"
|
||||
sudo -E yum install -y git gcc gcc-c++ ncurses-devel openssl-devel bc xz elfutils-libelf-devel xorg-x11-drv-nouveau rpm-build
|
||||
|
||||
echo "download 4.14.20 kernel"
|
||||
if [ ! -f ./linux-4.14.20.tar.xz ]; then
|
||||
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.20.tar.xz
|
||||
fi
|
||||
|
||||
tar -xJf linux-4.14.20.tar.xz
|
||||
cd linux-4.14.20
|
||||
echo "build 4.14.20 kernel"
|
||||
make olddefconfig
|
||||
|
||||
make -j 8 binrpm-pkg
|
||||
cd ~/rpmbuild/RPMS/x86_64
|
||||
sudo -E yum -y localinstall *.rpm
|
||||
sudo -E grub2-set-default 0
|
||||
|
||||
elif grep -i "ubuntu" /etc/os-release &>/dev/null; then
|
||||
# Ubuntu
|
||||
sudo -E add-apt-repository ppa:teejee2008/ppa
|
||||
sudo -E apt-get update && sudo apt-get install -y ukuu
|
||||
sudo -E ukuu --install v4.14.20
|
||||
fi
|
||||
189
scripts/install_dependencies/install_GST_dependencies.sh
Normal file
189
scripts/install_dependencies/install_GST_dependencies.sh
Normal file
@@ -0,0 +1,189 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2020 Intel Corporation
|
||||
#
|
||||
# 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
|
||||
|
||||
if [ $EUID -ne 0 ]; then
|
||||
echo "ERROR: this script must be run as root to install 3rd party packages." >&2
|
||||
echo "Please try again with \"sudo -E $0\", or as root." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
params=$@
|
||||
|
||||
yes_or_no() {
|
||||
if [ "$params" == "-y" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
while true; do
|
||||
read -p "Add third-party repositories and install GStreamer Plugins (y/n): " yn
|
||||
case $yn in
|
||||
[Yy]*) return 0 ;;
|
||||
[Nn]*) return 1 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
echo
|
||||
echo "This script installs the following GStreamer 3rd-party dependencies:"
|
||||
echo " 1. build dependencies for GStreamer plugin bad"
|
||||
echo " 2. build dependencies for GStreamer plugin ugly"
|
||||
echo " 3. build dependencies for GStreamer plugin vaapi"
|
||||
echo
|
||||
|
||||
if [ -f /etc/lsb-release ]; then
|
||||
# Ubuntu
|
||||
PKGS=(
|
||||
libbluetooth-dev
|
||||
libusb-1.0.0-dev
|
||||
libass-dev
|
||||
libbs2b-dev
|
||||
libchromaprint-dev
|
||||
liblcms2-dev
|
||||
libssh2-1-dev
|
||||
libdc1394-22-dev
|
||||
libdirectfb-dev
|
||||
libssh-dev
|
||||
libdca-dev
|
||||
libfaac-dev
|
||||
libfaad-dev
|
||||
libfdk-aac-dev
|
||||
flite1-dev
|
||||
libfluidsynth-dev
|
||||
libgme-dev
|
||||
libgsm1-dev
|
||||
nettle-dev
|
||||
libkate-dev
|
||||
liblrdf0-dev
|
||||
libde265-dev
|
||||
libmjpegtools-dev
|
||||
libmms-dev
|
||||
libmodplug-dev
|
||||
libmpcdec-dev
|
||||
libneon27-dev
|
||||
libofa0-dev
|
||||
libopenal-dev
|
||||
libopenexr-dev
|
||||
libopenjp2-7-dev
|
||||
libopenmpt-dev
|
||||
libopenni2-dev
|
||||
libdvdnav-dev
|
||||
librtmp-dev
|
||||
librsvg2-dev
|
||||
libsbc-dev
|
||||
libsndfile1-dev
|
||||
libsoundtouch-dev
|
||||
libspandsp-dev
|
||||
libsrtp2-dev
|
||||
libzvbi-dev
|
||||
libvo-aacenc-dev
|
||||
libvo-amrwbenc-dev
|
||||
libwebrtc-audio-processing-dev
|
||||
libwebp-dev
|
||||
libwildmidi-dev
|
||||
libzbar-dev
|
||||
libnice-dev
|
||||
libx265-dev
|
||||
libxkbcommon-dev
|
||||
libx264-dev
|
||||
libmpeg2-4-dev
|
||||
libdvdread-dev
|
||||
libcdio-dev
|
||||
libopencore-amrnb-dev
|
||||
libopencore-amrwb-dev
|
||||
liba52-0.7.4-dev
|
||||
libsidplay1-dev
|
||||
libva-dev
|
||||
libxrandr-dev
|
||||
libudev-dev
|
||||
python-gi-dev \
|
||||
python3-dev
|
||||
)
|
||||
apt update
|
||||
apt install -y ${PKGS[@]}
|
||||
else
|
||||
# CentOS
|
||||
PKGS=(
|
||||
bluez-libs-devel
|
||||
libusb-devel
|
||||
libass-devel
|
||||
libbs2b-devel
|
||||
libchromaprint-devel
|
||||
lcms2-devel
|
||||
libssh2-devel
|
||||
libdc1394-devel
|
||||
libXext-devel
|
||||
libssh-devel
|
||||
libdca-devel
|
||||
faac-devel
|
||||
faad2-devel
|
||||
fdk-aac-devel
|
||||
flite-devel
|
||||
fluidsynth-devel
|
||||
game-music-emu-devel
|
||||
gsm-devel
|
||||
nettle-devel
|
||||
kate-devel
|
||||
liblrdf-devel
|
||||
libde265-devel
|
||||
mjpegtools-devel
|
||||
libmms-devel
|
||||
libmodplug-devel
|
||||
libmpcdec-devel
|
||||
neon-devel
|
||||
libofa-devel
|
||||
openal-soft-devel
|
||||
OpenEXR-devel
|
||||
openjpeg2-devel
|
||||
openni-devel
|
||||
libdvdnav-devel
|
||||
librtmp-devel
|
||||
librsvg2-devel
|
||||
sbc-devel
|
||||
libsndfile-devel
|
||||
soundtouch-devel
|
||||
spandsp-devel
|
||||
libsrtp-devel
|
||||
zvbi-devel
|
||||
vo-amrwbenc-devel
|
||||
webrtc-audio-processing-devel
|
||||
wildmidi-devel
|
||||
zbar-devel
|
||||
libnice-devel
|
||||
x265-devel
|
||||
libxkbcommon-devel
|
||||
x264-devel
|
||||
libmpeg2-devel
|
||||
libcdio-devel
|
||||
opencore-amr-devel
|
||||
libva-devel
|
||||
python36-gobject-devel
|
||||
python3-devel
|
||||
)
|
||||
if yes_or_no; then
|
||||
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
|
||||
yum install -y epel-release
|
||||
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
|
||||
yum install -y ${PKGS[@]}
|
||||
else
|
||||
echo
|
||||
echo "Plugins cannot be installed without adding repositories:"
|
||||
echo " PM-GPG-KEY-nux, epel-release, nux-dextop-release-0-5."
|
||||
echo
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
35
scripts/install_dependencies/install_NCS_udev_rules.sh
Normal file
35
scripts/install_dependencies/install_NCS_udev_rules.sh
Normal file
@@ -0,0 +1,35 @@
|
||||
# Copyright (c) 2018-2019 Intel Corporation
|
||||
#
|
||||
# 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.
|
||||
|
||||
echo "Updating udev rules..."
|
||||
|
||||
if [ -z "$INTEL_OPENVINO_DIR" ]; then
|
||||
echo "Please set up your environment. Run 'source <OPENVINO_INSTALLDIR>/bin/setupvars.sh'."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if [ -f "$INTEL_OPENVINO_DIR/deployment_tools/inference_engine/external/97-myriad-usbboot.rules" ]; then
|
||||
sudo usermod -a -G users "$(whoami)"
|
||||
|
||||
sudo cp "$INTEL_OPENVINO_DIR/deployment_tools/inference_engine/external/97-myriad-usbboot.rules" /etc/udev/rules.d/
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger
|
||||
sudo ldconfig
|
||||
echo "Udev rules have been successfully installed."
|
||||
else
|
||||
echo "File '97-myriad-usbboot.rules' is missing. Please make sure you installed 'Inference Engine Runtime for Intel® Movidius™ VPU'."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
|
||||
311
scripts/install_dependencies/install_NEO_OCL_driver.sh
Normal file
311
scripts/install_dependencies/install_NEO_OCL_driver.sh
Normal file
@@ -0,0 +1,311 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2018 - 2019 Intel Corporation
|
||||
#
|
||||
# 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.
|
||||
|
||||
#
|
||||
# Installs the Graphics Driver for OpenCL on Linux.
|
||||
#
|
||||
# Usage: sudo -E ./install_NEO_OCL_driver.sh
|
||||
#
|
||||
# Supported platforms:
|
||||
# 6th, 7th, 8th or 9th generation Intel® processor with Intel(R)
|
||||
# Processor Graphics Technology not previously disabled by the BIOS
|
||||
# or motherboard settings
|
||||
#
|
||||
EXIT_FAILURE=1
|
||||
UBUNTU_VERSION=
|
||||
DISTRO=
|
||||
|
||||
|
||||
params=$@
|
||||
yes_or_no() {
|
||||
if [ "$params" == "-y" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
while true; do
|
||||
read -p "Do you want to continue: " yn
|
||||
case $yn in
|
||||
[Yy]*) return 1 ;;
|
||||
[Nn]*) return 0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
_install_prerequisites_centos()
|
||||
{
|
||||
# yum doesn't accept timeout in seconds as parameter
|
||||
echo
|
||||
echo "Note: if yum becomes non-responsive, try aborting the script and run:"
|
||||
echo " sudo -E $0"
|
||||
echo
|
||||
|
||||
CMDS=("yum -y install tar libpciaccess numactl-libs"
|
||||
"yum -y groupinstall 'Development Tools'"
|
||||
"yum -y install rpmdevtools openssl openssl-devel bc numactl ocl-icd ocl-icd-devel")
|
||||
|
||||
for cmd in "${CMDS[@]}"; do
|
||||
echo $cmd
|
||||
eval $cmd
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo ERROR: failed to run $cmd >&2
|
||||
echo Problem \(or disk space\)? >&2
|
||||
echo . Verify that you have enough disk space, and run the script again. >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
_install_prerequisites_ubuntu()
|
||||
{
|
||||
CMDS=("apt-get -y update"
|
||||
"apt-get -y install libnuma1 ocl-icd-libopencl1")
|
||||
|
||||
for cmd in "${CMDS[@]}"; do
|
||||
echo $cmd
|
||||
eval $cmd
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo ERROR: failed to run $cmd >&2
|
||||
echo Problem \(or disk space\)? >&2
|
||||
echo " sudo -E $0" >&2
|
||||
echo 2. Verify that you have enough disk space, and run the script again. >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
install_prerequisites()
|
||||
{
|
||||
if [[ $DISTRO == "centos" ]]; then
|
||||
echo Installing prerequisites...
|
||||
_install_prerequisites_centos
|
||||
elif [[ $DISTRO == "ubuntu" ]]; then
|
||||
echo Installing prerequisites...
|
||||
_install_prerequisites_ubuntu
|
||||
else
|
||||
echo Unknown OS
|
||||
fi
|
||||
}
|
||||
|
||||
_deploy_rpm()
|
||||
{
|
||||
# On a CentOS 7.2 machine with Intel Parallel Composer XE 2017
|
||||
# installed we got conflicts when trying to deploy these rpms.
|
||||
# If that happens to you too, try again with:
|
||||
# IGFX_RPM_FLAGS="--force" sudo -E ./install_NEO_OCL_driver.sh install
|
||||
#
|
||||
cmd="rpm $IGFX_RPM_FLAGS -ivh --nodeps --force $1"
|
||||
echo $cmd
|
||||
eval $cmd
|
||||
}
|
||||
|
||||
_deploy_deb()
|
||||
{
|
||||
cmd="dpkg -i $1"
|
||||
echo $cmd
|
||||
eval $cmd
|
||||
}
|
||||
|
||||
_install_user_mode_centos()
|
||||
{
|
||||
_deploy_rpm "intel*.rpm"
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo ERROR: failed to install rpms $cmd error >&2
|
||||
echo Make sure you have enough disk space or fix the problem manually and try again. >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
}
|
||||
|
||||
_install_user_mode_ubuntu()
|
||||
{
|
||||
_deploy_deb "intel*.deb"
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo ERROR: failed to install rpms $cmd error >&2
|
||||
echo Make sure you have enough disk space or fix the problem manually and try again. >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
}
|
||||
|
||||
install_user_mode()
|
||||
{
|
||||
echo Installing user mode driver...
|
||||
|
||||
if [[ $DISTRO == "centos" ]]; then
|
||||
_install_user_mode_centos
|
||||
else
|
||||
_install_user_mode_ubuntu
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
_uninstall_user_mode_centos()
|
||||
{
|
||||
echo Looking for previously installed user-mode driver...
|
||||
PACKAGES=("intel-opencl"
|
||||
"intel-ocloc"
|
||||
"intel-gmmlib"
|
||||
"intel-igc-core"
|
||||
"intel-igc-opencl")
|
||||
for package in "${PACKAGES[@]}"; do
|
||||
echo "rpm -qa | grep $package"
|
||||
found_package=$(rpm -qa | grep $package)
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo Found installed user-mode driver, performing uninstall...
|
||||
cmd="rpm -e --nodeps ${found_package}"
|
||||
echo $cmd
|
||||
eval $cmd
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo ERROR: failed to uninstall existing user-mode driver. >&2
|
||||
echo Please try again manually and run the script again. >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
_uninstall_user_mode_ubuntu()
|
||||
{
|
||||
echo Looking for previously installed user-mode driver...
|
||||
|
||||
PACKAGES=("intel-opencl"
|
||||
"intel-ocloc"
|
||||
"intel-gmmlib"
|
||||
"intel-igc-core"
|
||||
"intel-igc-opencl")
|
||||
|
||||
for package in "${PACKAGES[@]}"; do
|
||||
found_package=$(dpkg-query -W -f='${binary:Package}\n' ${package})
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo Found $found_package installed, uninstalling...
|
||||
dpkg --purge $found_package
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "ERROR: unable to remove $found_package" >&2
|
||||
echo " please resolve it manually and try to launch the script again." >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
uninstall_user_mode()
|
||||
{
|
||||
if [[ $DISTRO == "centos" ]]; then
|
||||
_uninstall_user_mode_centos
|
||||
else
|
||||
_uninstall_user_mode_ubuntu
|
||||
fi
|
||||
}
|
||||
|
||||
version_gt() {
|
||||
# check if first version is greater than second version
|
||||
test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1";
|
||||
}
|
||||
|
||||
summary()
|
||||
{
|
||||
kernel_version=$(uname -r)
|
||||
|
||||
echo
|
||||
echo Installation completed successfully.
|
||||
echo
|
||||
echo Next steps:
|
||||
echo "Add OpenCL users to the video group: 'sudo usermod -a -G video USERNAME'"
|
||||
echo " e.g. if the user running OpenCL host applications is foo, run: sudo usermod -a -G video foo"
|
||||
echo " Current user has been already added to the video group"
|
||||
echo
|
||||
|
||||
# ask to install kernel 4.14 if current kernel version < 4.13 (GPU NEO driver supports only kernels 4.13.x and higher)
|
||||
if version_gt "4.13" "$kernel_version" ; then
|
||||
echo "Install 4.14 kernel using install_4_14_kernel.sh script and reboot into this kernel"
|
||||
echo
|
||||
fi
|
||||
|
||||
echo "If you use 8th Generation Intel® Core™ processor, you will need to add:"
|
||||
echo " i915.alpha_support=1"
|
||||
echo " to the 4.14 kernel command line, in order to enable OpenCL functionality for this platform."
|
||||
echo
|
||||
|
||||
}
|
||||
|
||||
check_root_access()
|
||||
{
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "ERROR: you must run this script as root." >&2
|
||||
echo "Please try again with "sudo -E $0", or as root." >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
}
|
||||
|
||||
add_user_to_video_group()
|
||||
{
|
||||
local real_user=$(logname 2>/dev/null || echo ${SUDO_USER:-${USER}})
|
||||
echo
|
||||
echo Adding $real_user to the video group...
|
||||
usermod -a -G video $real_user
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo WARNING: unable to add $real_user to the video group >&2
|
||||
fi
|
||||
}
|
||||
|
||||
_check_distro_version()
|
||||
{
|
||||
if [[ $DISTRO == centos ]]; then
|
||||
if ! grep -q 'CentOS Linux release 7\.' /etc/centos-release; then
|
||||
echo ERROR: this script is supported only on CentOS 7 >&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
elif [[ $DISTRO == ubuntu ]]; then
|
||||
grep -q -E "18.04" /etc/lsb-release && UBUNTU_VERSION="18.04"
|
||||
if [[ -z $UBUNTU_VERSION ]]; then
|
||||
echo "Warning: The driver was validated only on Ubuntu 18.04 LTS with stock kernel. \nMore info https://github.com/intel/compute-runtime/releases" >&2
|
||||
if [ ! yes_or_no ]; then
|
||||
echo "Installation of GFX driver interrupted"
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
distro_init()
|
||||
{
|
||||
if [[ -f /etc/centos-release ]]; then
|
||||
DISTRO="centos"
|
||||
elif [[ -f /etc/lsb-release ]]; then
|
||||
DISTRO="ubuntu"
|
||||
fi
|
||||
|
||||
_check_distro_version
|
||||
}
|
||||
|
||||
install()
|
||||
{
|
||||
uninstall_user_mode
|
||||
install_prerequisites
|
||||
install_user_mode
|
||||
add_user_to_video_group
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
echo "Intel OpenCL graphics driver installer"
|
||||
distro_init
|
||||
check_root_access
|
||||
install
|
||||
summary
|
||||
}
|
||||
|
||||
[[ "$0" == "$BASH_SOURCE" ]] && main "$@"
|
||||
1
scripts/install_dependencies/install_guide.html
Normal file
1
scripts/install_dependencies/install_guide.html
Normal file
@@ -0,0 +1 @@
|
||||
<meta http-equiv="REFRESH" content="0;URL=http://docs.openvinotoolkit.org/2019_R1/_docs_install_guides_installing_openvino_linux.html#set-the-environment-variables">
|
||||
351
scripts/install_dependencies/install_openvino_dependencies.sh
Normal file
351
scripts/install_dependencies/install_openvino_dependencies.sh
Normal file
@@ -0,0 +1,351 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) 2018 Intel Corporation
|
||||
#
|
||||
# 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
|
||||
|
||||
if [ $EUID -ne 0 ]; then
|
||||
echo "ERROR: this script must be run as root to install 3rd party packages." >&2
|
||||
echo "Please try again with \"sudo -E $0\", or as root." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
params=$@
|
||||
|
||||
yes_or_no_ffmpeg() {
|
||||
if [ "$params" == "-y" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
while true; do
|
||||
read -p "Add third-party RPM Fusion repository and install FFmpeg package (y/n): " yn
|
||||
case $yn in
|
||||
[Yy]*) return 0 ;;
|
||||
[Nn]*) return 1 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
yes_or_no_gst_bad_ugly() {
|
||||
if [ "$params" == "-y" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
while true; do
|
||||
read -p "Add third-party RPM Epel, Nux, Fusion, Forensics repositories and install dependencies for GStreamer Bad & Ugly Plugins (y/n): " yn
|
||||
case $yn in
|
||||
[Yy]*) return 0 ;;
|
||||
[Nn]*) return 1 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
if [ -f /etc/lsb-release ]; then
|
||||
# Ubuntu
|
||||
echo
|
||||
echo "This script installs the following OpenVINO 3rd-party dependencies:"
|
||||
echo " 1. GTK+, FFmpeg and GStreamer libraries used by OpenCV"
|
||||
echo " 2. libusb library required for Myriad plugin for Inference Engine"
|
||||
echo " 3. build dependencies for OpenVINO samples"
|
||||
echo " 4. build dependencies for GStreamer Plugins"
|
||||
echo
|
||||
PKGS=(
|
||||
cpio
|
||||
build-essential
|
||||
cmake
|
||||
libusb-1.0-0-dev
|
||||
libdrm-dev
|
||||
libgstreamer1.0-0
|
||||
gstreamer1.0-plugins-base
|
||||
gstreamer1.0-plugins-good
|
||||
gstreamer1.0-plugins-bad
|
||||
ffmpeg
|
||||
)
|
||||
system_ver=$(cat /etc/lsb-release | grep -i "DISTRIB_RELEASE" | cut -d "=" -f2)
|
||||
if [ "$system_ver" = "16.04" ]; then
|
||||
PKGS+=( libgtk2.0-0 )
|
||||
else
|
||||
PKGS+=( libgtk-3-0
|
||||
libglib2.0-0
|
||||
flex
|
||||
bison
|
||||
libgmp10
|
||||
libgsl23
|
||||
gobject-introspection
|
||||
libcap2
|
||||
libcap2-bin
|
||||
gettext
|
||||
libgirepository-1.0-1
|
||||
libx11-6
|
||||
iso-codes
|
||||
libgl1-mesa-dri
|
||||
libgles2
|
||||
libgl-dev
|
||||
gudev-1.0
|
||||
libtheora0
|
||||
libcdparanoia0
|
||||
libpango-1.0-0
|
||||
libgbm1
|
||||
libasound2
|
||||
libjpeg8
|
||||
libvisual-0.4-0
|
||||
libxv1
|
||||
libopus0
|
||||
libgraphene-1.0-0
|
||||
libvorbis0a
|
||||
libbz2-1.0
|
||||
libv4l-0
|
||||
libaa1
|
||||
libflac8
|
||||
libgdk-pixbuf2.0-0
|
||||
libmp3lame0
|
||||
libcaca0
|
||||
libdv4
|
||||
libmpg123-0
|
||||
libraw1394-11
|
||||
libavc1394-0
|
||||
libiec61883-0
|
||||
libpulse0
|
||||
libsoup2.4-1
|
||||
libspeex1
|
||||
libtag-extras1
|
||||
libtwolame0
|
||||
libwavpack1
|
||||
libbluetooth3
|
||||
libusb-1.0.0-dev
|
||||
libass9
|
||||
libbs2b0
|
||||
libchromaprint1
|
||||
liblcms2-2
|
||||
libssh2-1
|
||||
libdc1394-22
|
||||
libdirectfb-1.7-7
|
||||
libssh-4
|
||||
libdca0
|
||||
libfaac0
|
||||
libfdk-aac1
|
||||
libflite1
|
||||
libfluidsynth1
|
||||
libgme0
|
||||
libgsm1
|
||||
libnettle6
|
||||
libkate1
|
||||
liblrdf0
|
||||
libde265-0
|
||||
libmjpegtools-dev
|
||||
libmms0
|
||||
libmodplug1
|
||||
libmpcdec6
|
||||
libneon27
|
||||
libopenal1
|
||||
libopenexr22
|
||||
libopenjp2-7
|
||||
libopenmpt0
|
||||
libopenni2-0
|
||||
libdvdnav4
|
||||
librtmp1
|
||||
librsvg2-2
|
||||
libsbc1
|
||||
libsndfile1
|
||||
libsoundtouch1
|
||||
libspandsp2
|
||||
libsrtp2-1
|
||||
libzvbi0
|
||||
libvo-aacenc0
|
||||
libvo-amrwbenc0
|
||||
libwebrtc-audio-processing1
|
||||
libwebp6
|
||||
libwildmidi2
|
||||
libzbar0
|
||||
libnice10
|
||||
libxkbcommon0
|
||||
libmpeg2-4
|
||||
libopencore-amrnb0
|
||||
libopencore-amrwb0
|
||||
liba52-0.7.4
|
||||
libva2
|
||||
libxrandr2
|
||||
libudev1
|
||||
python3.6
|
||||
libpython3.6
|
||||
python3-gi
|
||||
)
|
||||
fi
|
||||
apt update
|
||||
apt install -y ${PKGS[@]}
|
||||
else
|
||||
# CentOS
|
||||
echo
|
||||
echo "This script installs the following OpenVINO 3rd-party dependencies:"
|
||||
echo " 1. GTK+ and GStreamer libraries used by OpenCV"
|
||||
echo " 2. libusb library required for Myriad plugin for Inference Engine"
|
||||
echo " 3. Python 3.6 for Model Optimizer"
|
||||
echo " 4. gcc 4.8.5 and other build dependencies for OpenVINO samples"
|
||||
echo " 5. build dependencies for GStreamer Plugins"
|
||||
echo
|
||||
PKGS=(
|
||||
libusbx-devel
|
||||
gtk2
|
||||
gstreamer1
|
||||
gstreamer1-plugins-good
|
||||
gstreamer1-plugins-bad-free
|
||||
gcc
|
||||
gcc-c++
|
||||
make
|
||||
glibc-static
|
||||
glibc
|
||||
libstdc++-static
|
||||
libstdc++
|
||||
libstdc++
|
||||
libgcc
|
||||
cmake
|
||||
python36
|
||||
python36-pip
|
||||
glib2-devel
|
||||
flex
|
||||
bison
|
||||
gmp
|
||||
gsl
|
||||
gobject-introspection
|
||||
libcap
|
||||
libcap
|
||||
gettext
|
||||
libXrandr
|
||||
libX11
|
||||
iso-codes
|
||||
mesa-libEGL
|
||||
mesa-libGLES
|
||||
mesa-libGL
|
||||
libgudev1
|
||||
libtheora
|
||||
cdparanoia
|
||||
pango
|
||||
mesa-libgbm
|
||||
alsa-lib
|
||||
libjpeg-turbo
|
||||
libvisual
|
||||
libXv
|
||||
opus
|
||||
libvorbis
|
||||
patch
|
||||
bzip2
|
||||
libv4l
|
||||
flac
|
||||
gdk-pixbuf2
|
||||
libdv
|
||||
mpg123
|
||||
libraw1394
|
||||
libavc1394
|
||||
libiec61883
|
||||
pulseaudio-libs
|
||||
libsoup
|
||||
speex
|
||||
wavpack
|
||||
boost-regex-1.53.0
|
||||
)
|
||||
yum install -y ${PKGS[@]}
|
||||
|
||||
# Thirdparty repositories for installing GStreamer Bad & Ugly Plugins dependencies.
|
||||
if yes_or_no_gst_bad_ugly; then
|
||||
GST_BAD_UGLY_PKGS=(
|
||||
bluez-libs
|
||||
libusb
|
||||
libass
|
||||
libbs2b
|
||||
libchromaprint
|
||||
lcms2
|
||||
libssh2
|
||||
libdc1394
|
||||
libXext
|
||||
libssh
|
||||
libdca
|
||||
faac
|
||||
fdk-aac
|
||||
flite
|
||||
fluidsynth
|
||||
game-music-emu
|
||||
gsm
|
||||
nettle
|
||||
kate
|
||||
liblrdf
|
||||
libde265
|
||||
mjpegtools
|
||||
libmms
|
||||
libmodplug
|
||||
libmpcdec
|
||||
neon
|
||||
openal-soft
|
||||
OpenEXR
|
||||
openjpeg2
|
||||
openni
|
||||
libdvdnav
|
||||
librtmp
|
||||
librsvg2
|
||||
sbc
|
||||
libsndfile
|
||||
soundtouch
|
||||
spandsp
|
||||
libsrtp
|
||||
zvbi
|
||||
vo-amrwbenc
|
||||
webrtc-audio-processing
|
||||
wildmidi
|
||||
zbar
|
||||
libnice
|
||||
libxkbcommon
|
||||
libmpeg2
|
||||
libcdio
|
||||
opencore-amr
|
||||
libva
|
||||
python36-gobject
|
||||
python3-devel
|
||||
)
|
||||
yum install -y epel-release
|
||||
rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
|
||||
RPMFUSION_IS_INSTALLED=1
|
||||
yum install -y https://forensics.cert.org/cert-forensics-tools-release-el7.rpm
|
||||
yum install -y ${GST_BAD_UGLY_PKGS[@]}
|
||||
else
|
||||
echo "Dependencies for GStreamer Ugly & Bad plugins installation skipped."
|
||||
echo
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Intel(R) Distribution of OpenVINO(TM) toolkit can use FFmpeg for processing video streams with OpenCV. Please select your preferred method for installing FFmpeg:"
|
||||
echo
|
||||
echo "Option 1: Allow installer script to add a third party repository, RPM Fusion (https://rpmfusion.org/), which contains FFmpeg. FFmpeg rpm package will be installed from this repository. "
|
||||
echo "WARNING: This repository is NOT PROVIDED OR SUPPORTED by Intel or CentOS. Neither Intel nor CentOS has control over this repository. Terms governing your use of FFmpeg can be found here: https://www.ffmpeg.org/legal.html "
|
||||
echo "Once added, this repository will be enabled on your operating system and can thus receive updates to all packages installed from it. "
|
||||
echo
|
||||
echo "Consider the following ways to prevent unintended 'updates' from this third party repository from over-writing some core part of CentOS:"
|
||||
echo "a) Only enable these archives from time to time, and generally leave them disabled. See: man yum"
|
||||
echo "b) Use the exclude= and includepkgs= options on a per sub-archive basis, in the matching .conf file found in /etc/yum.repos.d/ See: man yum.conf"
|
||||
echo "c) The yum Priorities plug-in can prevent a 3rd party repository from replacing base packages, or prevent base/updates from replacing a 3rd party package."
|
||||
echo
|
||||
echo "Option 2: Skip FFmpeg installation."
|
||||
echo
|
||||
|
||||
if yes_or_no_ffmpeg; then
|
||||
if [[ -z $RPMFUSION_IS_INSTALLED ]]; then
|
||||
yum install -y epel-release
|
||||
rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
|
||||
fi
|
||||
yum install -y ffmpeg
|
||||
else
|
||||
echo "FFmpeg installation skipped. You may build FFmpeg from sources as described here: https://trac.ffmpeg.org/wiki/CompilationGuide/Centos"
|
||||
echo
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
Reference in New Issue
Block a user