-
-
Notifications
You must be signed in to change notification settings - Fork 829
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #800 from alicevision/docker/fixUbuntu
[Docker] fix ubuntu dockerfile
- Loading branch information
Showing
3 changed files
with
114 additions
and
47 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,14 @@ | ||
ARG CUDA_TAG=9.2 | ||
ARG CUDA_TAG=10.2 | ||
ARG OS_TAG=18.04 | ||
ARG NPROC=1 | ||
FROM nvidia/cuda:${CUDA_TAG}-devel-ubuntu${OS_TAG} | ||
FROM alicevision/alicevision-deps:cuda${CUDA_TAG}-ubuntu${OS_TAG} | ||
LABEL maintainer="AliceVision Team [email protected]" | ||
|
||
# use CUDA_TAG to select the image version to use | ||
# see https://hub.docker.com/r/nvidia/cuda/ | ||
# | ||
# CUDA_TAG=8.0-devel | ||
# docker build --build-arg CUDA_TAG=$CUDA_TAG --tag alicevision:$CUDA_TAG . | ||
# CUDA_TAG=8.0 | ||
# docker build --build-arg CUDA_TAG=$CUDA_TAG --tag alicevision/alicevision:cuda${CUDA_TAG}-ubuntu${OS_TAG} -f Dockerfile_ubuntu . | ||
# | ||
# then execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)) | ||
# docker run -it --runtime=nvidia alicevision | ||
|
@@ -17,49 +17,37 @@ LABEL maintainer="AliceVision Team [email protected]" | |
# OS/Version (FILE): cat /etc/issue.net | ||
# Cuda version (ENV): $CUDA_VERSION | ||
|
||
# Install all compilation tools | ||
RUN apt-get clean && \ | ||
apt-get update | ||
RUN apt-get install -y --no-install-recommends \ | ||
build-essential \ | ||
cmake \ | ||
git \ | ||
wget \ | ||
unzip \ | ||
yasm \ | ||
pkg-config \ | ||
libtool \ | ||
nasm \ | ||
automake \ | ||
gfortran | ||
|
||
# rm -rf /var/lib/apt/lists/* | ||
|
||
ENV AV_DEV=/opt/AliceVision_git \ | ||
AV_BUILD=/tmp/AliceVision_build \ | ||
AV_INSTALL=/opt/AliceVision_install \ | ||
AV_BUNDLE=/opt/AliceVision_bundle \ | ||
PATH="${PATH}:${AV_BUNDLE}" | ||
PATH="${PATH}:${AV_BUNDLE}" \ | ||
VERBOSE=1 | ||
|
||
COPY . "${AV_DEV}" | ||
|
||
|
||
# Cannot get rig of this error on lapack build on Ubuntu, so use system libraries for lapack/suitesparse: | ||
#CMake Error at BLAS/SRC/cmake_install.cmake:53 (file): | ||
# file INSTALL cannot find | ||
# "/tmp/AliceVision_build/external/lapack_build/lib/libblas.so.3.8.0". | ||
#Call Stack (most recent call first): | ||
# BLAS/cmake_install.cmake:46 (include) | ||
# cmake_install.cmake:72 (include) | ||
RUN apt-get install -y --no-install-recommends liblapack-dev libsuitesparse-dev | ||
|
||
WORKDIR "${AV_BUILD}" | ||
RUN cmake "${AV_DEV}" -DCMAKE_BUILD_TYPE=Release -DALICEVISION_BUILD_DEPENDENCIES:BOOL=ON -DAV_BUILD_LAPACK:BOOL=OFF -DAV_BUILD_SUITESPARSE:BOOL=OFF -DCMAKE_INSTALL_PREFIX="${AV_INSTALL}" -DALICEVISION_BUNDLE_PREFIX="${AV_BUNDLE}" | ||
|
||
WORKDIR "${AV_BUILD}" | ||
RUN make -j${NPROC} install && make bundle | ||
# && cd /opt && rm -rf "${AV_BUILD}" | ||
|
||
WORKDIR "${AV_BUNDLE}/share/aliceVision" | ||
RUN wget https://gitlab.com/alicevision/trainedVocabularyTreeData/raw/master/vlfeat_K80L3.SIFT.tree | ||
RUN cmake -DCMAKE_BUILD_TYPE=Release \ | ||
-DBUILD_SHARED_LIBS:BOOL=ON \ | ||
-DTARGET_ARCHITECTURE=core \ | ||
-DALICEVISION_BUILD_DEPENDENCIES:BOOL=OFF \ | ||
-DCMAKE_PREFIX_PATH:PATH="${AV_INSTALL}" \ | ||
-DCMAKE_INSTALL_PREFIX:PATH="${AV_INSTALL}" \ | ||
-DALICEVISION_BUNDLE_PREFIX="${AV_BUNDLE}" \ | ||
-DALICEVISION_USE_ALEMBIC:BOOL=ON \ | ||
-DMINIGLOG:BOOL=ON \ | ||
-DALICEVISION_USE_CCTAG:BOOL=ON \ | ||
-DALICEVISION_USE_OPENCV:BOOL=ON \ | ||
-DALICEVISION_USE_OPENGV:BOOL=ON \ | ||
-DALICEVISION_USE_POPSIFT:BOOL=ON \ | ||
-DALICEVISION_USE_CUDA:BOOL=ON \ | ||
-DALICEVISION_BUILD_DOC:BOOL=OFF \ | ||
-DALICEVISION_BUILD_EXAMPLES:BOOL=OFF \ | ||
"${AV_DEV}" && \ | ||
\ | ||
make install -j$(nproc) && \ | ||
make bundle && \ | ||
cd /opt && \ | ||
rm -rf "${AV_BUILD}" | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
ARG CUDA_TAG=10.2 | ||
ARG OS_TAG=18.04 | ||
ARG NPROC=1 | ||
FROM nvidia/cuda:${CUDA_TAG}-devel-ubuntu${OS_TAG} | ||
LABEL maintainer="AliceVision Team [email protected]" | ||
|
||
# use CUDA_TAG to select the image version to use | ||
# see https://hub.docker.com/r/nvidia/cuda/ | ||
# | ||
# CUDA_TAG=8.0 | ||
# docker build --build-arg CUDA_TAG=$CUDA_TAG --tag alicevision/alicevision-deps:cuda${CUDA_TAG}-ubuntu${OS_TAG} -f Dockerfile_ubuntu_deps . | ||
# | ||
# then execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)) | ||
# docker run -it --runtime=nvidia alicevision | ||
|
||
|
||
# OS/Version (FILE): cat /etc/issue.net | ||
# Cuda version (ENV): $CUDA_VERSION | ||
|
||
# Install all compilation tools | ||
RUN apt-get clean && \ | ||
apt-get update | ||
RUN apt-get install -y --no-install-recommends \ | ||
build-essential \ | ||
git \ | ||
wget \ | ||
unzip \ | ||
yasm \ | ||
pkg-config \ | ||
libtool \ | ||
libssl-dev \ | ||
nasm \ | ||
automake \ | ||
gfortran | ||
|
||
# rm -rf /var/lib/apt/lists/* | ||
|
||
ENV AV_DEV=/opt/AliceVision_git \ | ||
AV_BUILD=/tmp/AliceVision_build \ | ||
AV_INSTALL=/opt/AliceVision_install \ | ||
AV_BUNDLE=/opt/AliceVision_bundle \ | ||
PATH="${PATH}:${AV_BUNDLE}" | ||
|
||
# Manually install cmake | ||
WORKDIR /tmp/cmake | ||
ENV CMAKE_VERSION=3.17 | ||
ENV CMAKE_VERSION_FULL=${CMAKE_VERSION}.2 | ||
RUN wget https://cmake.org/files/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION_FULL}.tar.gz && \ | ||
tar zxf cmake-${CMAKE_VERSION_FULL}.tar.gz && \ | ||
cd cmake-${CMAKE_VERSION_FULL} && \ | ||
./bootstrap --prefix=/usr/local -- -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_USE_OPENSSL:BOOL=ON && \ | ||
make -j$(nproc) install && \ | ||
cd /tmp && \ | ||
rm -rf cmake | ||
|
||
COPY CMakeLists.txt "${AV_DEV}/" | ||
|
||
|
||
# Cannot get rig of this error on lapack build on Ubuntu, so use system libraries for lapack/suitesparse: | ||
#CMake Error at BLAS/SRC/cmake_install.cmake:53 (file): | ||
# file INSTALL cannot find | ||
# "/tmp/AliceVision_build/external/lapack_build/lib/libblas.so.3.8.0". | ||
#Call Stack (most recent call first): | ||
# BLAS/cmake_install.cmake:46 (include) | ||
# cmake_install.cmake:72 (include) | ||
RUN apt-get install -y --no-install-recommends liblapack-dev libsuitesparse-dev | ||
|
||
WORKDIR "${AV_BUILD}" | ||
RUN cmake "${AV_DEV}" \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DALICEVISION_BUILD_DEPENDENCIES:BOOL=ON \ | ||
-DAV_BUILD_ALICEVISION:BOOL=OFF \ | ||
-DAV_BUILD_LAPACK:BOOL=OFF \ | ||
-DAV_BUILD_SUITESPARSE:BOOL=OFF \ | ||
-DCMAKE_INSTALL_PREFIX="${AV_INSTALL}" | ||
|
||
WORKDIR "${AV_BUILD}" | ||
RUN make && cd /opt && rm -rf ${AV_BUILD} | ||
|