Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docker] Fix the build of Docker images for Ubuntu #1623

Merged
merged 1 commit into from
Jan 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docker/Dockerfile_ubuntu
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ ARG CUDA_VERSION
ARG UBUNTU_VERSION
FROM alicevision/alicevision-deps:${AV_DEPS_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}
LABEL maintainer="AliceVision Team [email protected]"
ARG TARGET_ARCHITECTURE=core

# use CUDA_VERSION to select the image version to use
# see https://hub.docker.com/r/nvidia/cuda/
Expand Down Expand Up @@ -42,7 +43,7 @@ COPY docker ${AV_DEV}/docker
RUN export CPU_CORES=`${AV_DEV}/docker/check-cpu.sh`; \
cmake -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DTARGET_ARCHITECTURE=core \
-DTARGET_ARCHITECTURE=${TARGET_ARCHITECTURE} \
-DALICEVISION_BUILD_DEPENDENCIES:BOOL=OFF \
-DCMAKE_PREFIX_PATH:PATH="${AV_INSTALL}" \
-DCMAKE_INSTALL_PREFIX:PATH="${AV_INSTALL}" \
Expand Down
13 changes: 10 additions & 3 deletions docker/Dockerfile_ubuntu_deps
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@ RUN . ./etc/os-release && \
nasm \
automake \
cmake \
gfortran
gfortran \
clang-format \
gcc-10 \
g++-10 \
cpp-10 && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10

ENV AV_DEV=/opt/AliceVision_git \
AV_BUILD=/tmp/AliceVision_build \
Expand Down Expand Up @@ -69,6 +74,7 @@ WORKDIR "${AV_BUILD}"
RUN cmake "${AV_DEV}" \
-DCMAKE_BUILD_TYPE=Release \
-DALICEVISION_BUILD_DEPENDENCIES:BOOL=ON \
-DAV_BUILD_ZLIB:BOOL=ON \
-DAV_BUILD_ALICEVISION:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX="${AV_INSTALL}"

Expand All @@ -78,6 +84,8 @@ RUN mkdir -p "${AV_INSTALL}/lib" && \

RUN test -e /usr/local/cuda/lib64/libcublas.so || ln -s /usr/lib/x86_64-linux-gnu/libcublas.so /usr/local/cuda/lib64/libcublas.so

# RUN make -j ${CPU_CORES} onnxruntime
# RUN make -j ${CPU_CORES} pcl
# RUN make -j ${CPU_CORES} turbojpeg
# RUN make -j ${CPU_CORES} boost
# RUN make -j ${CPU_CORES} openexr
Expand All @@ -92,15 +100,14 @@ RUN test -e /usr/local/cuda/lib64/libcublas.so || ln -s /usr/lib/x86_64-linux-gn
# RUN make -j ${CPU_CORES} tiff
# RUN make -j ${CPU_CORES} png
# RUN make -j ${CPU_CORES} libraw
# RUN make -j ${CPU_CORES} boost
# RUN make -j ${CPU_CORES} openimageio
# RUN make -j ${CPU_CORES} alembic
# RUN make -j ${CPU_CORES} ffmpeg
# RUN make -j ${CPU_CORES} opencv
# RUN make -j ${CPU_CORES} expat

# RUN make -j ${CPU_CORES} cctag
# RUN make -j ${CPU_CORES} popsift
# RUN make -j ${CPU_CORES} cctag

RUN cmake --build . -j ${CPU_CORES} && \
mv "${AV_INSTALL}/bin" "${AV_INSTALL}/bin-deps" && \
Expand Down
23 changes: 18 additions & 5 deletions docker/build-ubuntu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,52 @@ test -e docker/fetch.sh || {
exit 1
}

test -z "$AV_DEPS_VERSION" && AV_DEPS_VERSION=2023.10.12
test -z "$AV_DEPS_VERSION" && AV_DEPS_VERSION=2023.12.13
test -z "$AV_VERSION" && AV_VERSION="$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)"
test -z "$CUDA_VERSION" && CUDA_VERSION=11.3.1
test -z "$UBUNTU_VERSION" && UBUNTU_VERSION=20.04
test -z "$REPO_OWNER" && REPO_OWNER=alicevision
test -z "$DOCKER_REGISTRY" && DOCKER_REGISTRY=docker.io

echo "AV_VERSION: $AV_VERSION"
echo "AV_DEPS_VERSION: $AV_DEPS_VERSION"
echo "CUDA_VERSION: $CUDA_VERSION"
echo "UBUNTU_VERSION: $UBUNTU_VERSION"

echo "--== FETCH DEPENDENCIES ==--"

./docker/fetch.sh

DEPS_DOCKER_TAG=${REPO_OWNER}/alicevision-deps:${AV_DEPS_VERSION}-centos${CENTOS_VERSION}-cuda${CUDA_VERSION}
DEPS_DOCKER_TAG=${REPO_OWNER}/alicevision-deps:${AV_DEPS_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}

echo "--== BUILD DEPENDENCIES ==--"

## DEPENDENCIES
docker build \
--rm \
--build-arg CUDA_VERSION=${CUDA_VERSION} \
--build-arg UBUNTU_VERSION=${UBUNTU_VERSION} \
--tag alicevision/alicevision-deps:${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION} \
--tag ${DEPS_DOCKER_TAG} \
-f docker/Dockerfile_ubuntu_deps .

echo ""
echo " To upload results:"
echo "docker push ${DEPS_DOCKER_TAG}"
echo ""

DOCKER_TAG=${REPO_OWNER}/alicevision:${AV_VERSION}-centos${CENTOS_VERSION}-cuda${CUDA_VERSION}

DOCKER_TAG=${REPO_OWNER}/alicevision:${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}

echo "--== BUILD ALICEVISION ==--"

## ALICEVISION
docker build \
--rm \
--build-arg CUDA_VERSION=${CUDA_VERSION} \
--build-arg UBUNTU_VERSION=${UBUNTU_VERSION} \
--build-arg AV_DEPS_VERSION=${AV_DEPS_VERSION} \
--build-arg AV_VERSION=${AV_VERSION} \
--tag alicevision/alicevision:${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION} \
--tag ${DOCKER_TAG} \
-f docker/Dockerfile_ubuntu .

echo ""
Expand Down
Loading