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