ubuntu16.04上ソフトウェアのインストールメモ - GerryZhang0925/dev_env GitHub Wiki
conda remove opencv conda install ffmpeg conda install -c menpo opencv pip install opencv-contrib-python
sudo apt-get remove ffmpeg x264 libx264-dev
sudo apt-get remove nasm
sudo apt-get remove yasm
sudo apt-get update
sudo apt-get install build-essential git-core checkinstall yasm texi2html libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev
cd
mkdir codec
cd codec
wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
tar xzvf nasm-2.13.03.tar.gz
cd nasm-2.13.03/
./autogen.sh
./configure
make
sudo make install
cd
cd codec
git clone http://git.videolan.org/git/x264.git
cd x264
./configure --enable-static
make
sudo make install
sudo apt-get remove libopencv* sudo apt-get remove opencv* sudo ldconfig && sudo ldconfig -vp sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libgtk-3-dev sudo apt-get install libatlas-base-dev gfortran sudo apt-get autoremove libtiff5-dev sudo apt-get install libtiff5-dev sudo apt-get install libopenexr-dev sudo apt-get install libomp-dev cd wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip unzip opencv.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip unzip opencv_contrib.zip cd opencv-3.4.0/ mkdir build cd build cmake -D CMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") -D PYTHON3_EXECUTABLE=$(which python) -D PYTHON3_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -D WITH_OPENGL=ON -D WITH_QT=ON -D CMAKE_BUILD_TYPE=RELEASE -D WITH_CUDA=ON -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON -D WITH_QT=ON -D BUILD_TIFF=ON -D WITH_OPENMP=ON -D WITH_VTK=OFF .. make -j4 sudo make install sudo ldconfig
g++ test.cpp `pkg-config --cflags --libs opencv`
sudo apt-get install libmp3lame-dev
cd
cd codec
git clone https://git.videolan.org/git/ffmpeg.git
cd ffmpeg
./configure --prefix=/home/gzhang/anaconda3 --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-libvpx
make
sudo make install
ffmpeg -i input.mp4 -vcodec png image_%03d.png
ffmpeg -framerate 30 -i image_%03d.png -vcodec libx264 -pix_fmt yuv420p -r 60 out.mp4
Install CUDA 9.2 with following commands.
sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub sudo apt-get update sudo apt-get install cuda
sudo dpkg -i cuda-repo-ubuntu1604-9-2-148-local-patch-1_1.0-1_amd64.deb
下記三つのDRIVEAVパッケージをインストール
driveworks_data-v1.2.131-4522892-424901-nogcid-linux-amd64-ubuntu1604.deb driveav_samples-v1.2.131-4522892-424901-nogcid-linux-amd64-ubuntu1604.deb driveav-v1.2.131-4522892-424901-nogcid-linux-amd64-ubuntu1604.deb
端末で下記コマンドを実行。
sudo apt install git-flow
端末で下記コマンドを実行。
sudo apt install clang-3.9 sudo apt install libc++-dev sudo apt install clang-format-3.9
端末で下記コマンドを実行。
sudo apt install gdb
wget --no-check-certificate https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh chmod +x Anaconda3-4.4.0-Linux-x86_64.sh ./Anaconda3-4.4.0-Linux-x86_64.sh
端末で下記コマンドを実行。
sudo apt install python-pip pip install hjson==3.0.0 jinja2==2.9.6 graphviz==0.8.1 jsonschema==2.6.0 zstd==1.3.3 bson==0.5.2 numpy==1.14.2 --trusted-host pypi.python.org --default-timeout=100
上記コマンドはpython2に対して動作する可能性があるため、以下のコマンドを明示的に実行
sudo apt install python3-pip pip3 install hjson==3.0.0 jinja2==2.9.6 graphviz==0.8.1 jsonschema==2.6.0 zstd==1.3.3 bson==0.5.2 numpy==1.14.2 --trusted-host pypi.python.org --default-timeout=100
3.6.1 Graphvizのインストール
端末で下記コマンドを実行。
sudo apt install doxygen sudo apt install graphviz
3.6.2 カバレッジ測定ツールのインストール
端末で下記コマンドを実行。
sudo apt install lcov
3.6.3 Qt関連環境のインストール
端末で下記コマンドを実行。
sudo apt install qt5-default freeglut3 freeglut3-dev libopencv-dev libboost-all-dev libglew-dev
Build docker image with the following docker file.
# Set up for OpenGL Build
## glvnd
FROM ubuntu:16.04 as glvnd
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
ca-certificates \
make \
automake \
autoconf \
libtool \
pkg-config \
python \
libxext-dev \
libx11-dev \
x11proto-gl-dev && \
rm -rf /var/lib/apt/lists/*
WORKDIR /opt/libglvnd
RUN git clone --branch=v1.1.0 https://github.com/NVIDIA/libglvnd.git . && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib/x86_64-linux-gnu && \
make -j"$(nproc)" install-strip && \
find /usr/local/lib/x86_64-linux-gnu -type f -name 'lib*.la' -delete
RUN dpkg --add-architecture i386 && \
apt-get update && apt-get install -y --no-install-recommends \
gcc-multilib \
libxext-dev:i386 \
libx11-dev:i386 && \
rm -rf /var/lib/apt/lists/*
# 32-bit libraries
RUN make distclean && \
./autogen.sh && \
./configure --prefix=/usr/local --libdir=/usr/local/lib/i386-linux-gnu --host=i386-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" && \
make -j"$(nproc)" install-strip && \
find /usr/local/lib/i386-linux-gnu -type f -name 'lib*.la' -delete
## OpenGL
FROM ubuntu:16.04 as khronos
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
git && \
rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/KhronosGroup/OpenGL-Registry.git && cd OpenGL-Registry && \
git checkout 681c365c012ac9d3bcadd67de10af4730eb460e0 && \
cp -r api/GL /usr/local/include
RUN git clone https://github.com/KhronosGroup/EGL-Registry.git && cd EGL-Registry && \
git checkout 0fa0d37da846998aa838ed2b784a340c28dadff3 && \
cp -r api/EGL api/KHR /usr/local/include
RUN git clone --branch=mesa-17.3.3 --depth=1 https://anongit.freedesktop.org/git/mesa/mesa.git && cd mesa && \
cp include/GL/gl.h include/GL/gl_mangle.h /usr/local/include/GL/
#
FROM 172.31.122.2:5000/adx/develop:latest
## base
RUN dpkg --add-architecture i386 && \
apt-get update && apt-get install -y --no-install-recommends \
libxau6 libxau6:i386 \
libxdmcp6 libxdmcp6:i386 \
libxcb1 libxcb1:i386 \
libxext6 libxext6:i386 \
libx11-6 libx11-6:i386 && \
rm -rf /var/lib/apt/lists/*
# nvidia-container-runtime
ENV NVIDIA_VISIBLE_DEVICES ${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,display
# Required for non-glvnd setups.
ENV LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
## glvnd runtime
COPY --from=glvnd /usr/local/lib/x86_64-linux-gnu /usr/local/lib/x86_64-linux-gnu
COPY --from=glvnd /usr/local/lib/i386-linux-gnu /usr/local/lib/i386-linux-gnu
#COPY 10_nvidia.json /usr/local/share/glvnd/egl_vendor.d/10_nvidia.json
RUN echo '/usr/local/lib/x86_64-linux-gnu' >> /etc/ld.so.conf.d/glvnd.conf && \
echo '/usr/local/lib/i386-linux-gnu' >> /etc/ld.so.conf.d/glvnd.conf && \
ldconfig
ENV LD_LIBRARY_PATH /usr/local/lib/x86_64-linux-gnu:/usr/local/lib/i386-linux- gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
## glvnd devel
RUN apt-get update && apt-get install -y --no-install-recommends \
pkg-config \
libxau-dev libxau-dev:i386 \
libxdmcp-dev libxdmcp-dev:i386 \
libxcb1-dev libxcb1-dev:i386 \
libxext-dev libxext-dev:i386 \
libx11-dev libx11-dev:i386 && \
rm -rf /var/lib/apt/lists/*
COPY --from=khronos /usr/local/include /usr/local/include
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
ca-certificates \
build-essential \
g++ \
libxinerama-dev \
libxext-dev \
libxrandr-dev \
libxi-dev \
libxcursor-dev \
libxxf86vm-dev \
libvulkan-dev && \
rm -rf /var/lib/apt/lists/*
コマンドは下記。ここでは例として生成するイメージ名は`adx_opengl`としている。
sudo docker build . -t adx_opengl --build-arg http_proxy=http://xxx.xxx.xxx.xxx:xxxxx/ --build-arg https_proxy=http://xxx.xxx.xxx.xxx:xxxxx/
nvidiaが公開しているサンプルコードをダウンロードする。
git clone https://github.com/NVIDIAGameWorks/GraphicsSamples.git