mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-04-28 09:47:20 +02:00
Build working Meshroom images based on the latest Alicevision images
This patch builds upon the AliceVision PR: https://github.com/alicevision/AliceVision/pull/853 It ensures that Centos images build a functioning Meshroom, and also adds Ubuntu support. The Docker images support launch the GUI via ssh: docker run -it --runtime nvidia -p 2222:22 --name meshroom -v</path/to/your/data>:/data alicevision/meshroom:<meshroom branch/commit>-av<AliceVision branch/commit>-ubuntu20.04-cuda11.0 ssh -p 2222 -X root@<docker host> /opt/Meshroom_bundle/Meshroom # Password is 'meshroom' The following OS/CUDA versions are supported: CUDA_VERSION=11.0 UBUNTU_VERSION=20.04 CUDA_VERSION=11.0 UBUNTU_VERSION=18.04 CUDA_VERSION=10.2 UBUNTU_VERSION=18.04 CUDA_VERSION=9.2 UBUNTU_VERSION=18.04 CUDA_VERSION=10.2 CENTOS_VERSION=7 CUDA_VERSION=9.2 CENTOS_VERSION=7 To build all supported images: AV_VERSION=<AliceVision version> docker/build-all.sh Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
This commit is contained in:
parent
8e24687c68
commit
f934cb4454
10 changed files with 320 additions and 57 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -25,7 +25,7 @@ __pycache__
|
|||
/scripts
|
||||
/build
|
||||
/dist
|
||||
/*.sh
|
||||
/dl
|
||||
|
||||
# tests
|
||||
/.tests
|
||||
|
|
39
Dockerfile
39
Dockerfile
|
@ -1,39 +0,0 @@
|
|||
ARG MR_VERSION
|
||||
ARG CUDA_VERSION=9.0
|
||||
ARG OS_VERSION=7
|
||||
FROM alicevision/meshroom-deps:${MR_VERSION}-centos${OS_VERSION}-cuda${CUDA_VERSION}
|
||||
LABEL maintainer="AliceVision Team alicevision-team@googlegroups.com"
|
||||
|
||||
# Execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
|
||||
# docker run -it --runtime=nvidia meshroom
|
||||
|
||||
ENV MESHROOM_DEV=/opt/Meshroom \
|
||||
MESHROOM_BUILD=/tmp/Meshroom_build \
|
||||
MESHROOM_BUNDLE=/opt/Meshroom_bundle \
|
||||
QT_DIR=/opt/Qt5.14.1/5.14.1/gcc_64 \
|
||||
PATH="${PATH}:${MESHROOM_BUNDLE}"
|
||||
|
||||
COPY . "${MESHROOM_DEV}"
|
||||
|
||||
WORKDIR ${MESHROOM_DEV}
|
||||
|
||||
RUN source scl_source enable rh-python36 && python setup.py install_exe -d "${MESHROOM_BUNDLE}" && \
|
||||
find ${MESHROOM_BUNDLE} -name "*Qt5Web*" -delete && \
|
||||
find ${MESHROOM_BUNDLE} -name "*Qt5Designer*" -delete && \
|
||||
rm -rf ${MESHROOM_BUNDLE}/lib/PySide2/typesystems/ ${MESHROOM_BUNDLE}/lib/PySide2/examples/ ${MESHROOM_BUNDLE}/lib/PySide2/include/ ${MESHROOM_BUNDLE}/lib/PySide2/Qt/translations/ ${MESHROOM_BUNDLE}/lib/PySide2/Qt/resources/ && \
|
||||
rm ${MESHROOM_BUNDLE}/lib/PySide2/QtWeb* && \
|
||||
rm ${MESHROOM_BUNDLE}/lib/PySide2/pyside2-lupdate ${MESHROOM_BUNDLE}/lib/PySide2/rcc ${MESHROOM_BUNDLE}/lib/PySide2/designer
|
||||
|
||||
WORKDIR ${MESHROOM_BUILD}
|
||||
|
||||
# Build Meshroom plugins
|
||||
RUN cmake "${MESHROOM_DEV}" -DALICEVISION_ROOT="${AV_INSTALL}" -DQT_DIR="${QT_DIR}" -DCMAKE_INSTALL_PREFIX="${MESHROOM_BUNDLE}/qtPlugins"
|
||||
# RUN make -j8 qtOIIO
|
||||
# RUN make -j8 qmlAlembic
|
||||
# RUN make -j8 qtAliceVision
|
||||
RUN make -j8 && cd /tmp && rm -rf ${MESHROOM_BUILD}
|
||||
|
||||
RUN mv "${AV_BUNDLE}" "${MESHROOM_BUNDLE}/aliceVision"
|
||||
RUN rm -rf ${MESHROOM_BUNDLE}/aliceVision/share/doc ${MESHROOM_BUNDLE}/aliceVision/share/eigen3 ${MESHROOM_BUNDLE}/aliceVision/share/fonts ${MESHROOM_BUNDLE}/aliceVision/share/lemon ${MESHROOM_BUNDLE}/aliceVision/share/libraw ${MESHROOM_BUNDLE}/aliceVision/share/man/ aliceVision/share/pkgconfig
|
||||
|
||||
|
72
docker/Dockerfile_centos
Normal file
72
docker/Dockerfile_centos
Normal file
|
@ -0,0 +1,72 @@
|
|||
ARG MESHROOM_VERSION
|
||||
ARG AV_VERSION
|
||||
ARG CUDA_VERSION
|
||||
ARG CENTOS_VERSION
|
||||
FROM alicevision/meshroom-deps:${MESHROOM_VERSION}-av${AV_VERSION}-centos${CENTOS_VERSION}-cuda${CUDA_VERSION}
|
||||
LABEL maintainer="AliceVision Team alicevision-team@googlegroups.com"
|
||||
|
||||
# Execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
|
||||
# docker run -it --runtime nvidia -p 2222:22 --name meshroom -v</path/to/your/data>:/data alicevision/meshroom:develop-av2.2.8.develop-ubuntu20.04-cuda11.0
|
||||
# ssh -p 2222 -X root@<docker host> /opt/Meshroom_bundle/Meshroom # Password is 'meshroom'
|
||||
|
||||
ENV MESHROOM_DEV=/opt/Meshroom \
|
||||
MESHROOM_BUILD=/tmp/Meshroom_build \
|
||||
MESHROOM_BUNDLE=/opt/Meshroom_bundle \
|
||||
AV_INSTALL=/opt/AliceVision_install \
|
||||
QT_DIR=/opt/Qt5.14.1/5.14.1/gcc_64 \
|
||||
PATH="${PATH}:${MESHROOM_BUNDLE}" \
|
||||
OPENIMAGEIO_LIBRARY=/opt/AliceVision_install/lib
|
||||
|
||||
COPY *.txt *.md *.py ${MESHROOM_DEV}/
|
||||
COPY ./docs ${MESHROOM_DEV}/docs
|
||||
COPY ./meshroom ${MESHROOM_DEV}/meshroom
|
||||
COPY ./tests ${MESHROOM_DEV}/tests
|
||||
COPY ./bin ${MESHROOM_DEV}/bin
|
||||
|
||||
WORKDIR ${MESHROOM_DEV}
|
||||
|
||||
RUN source scl_source enable rh-python36 && python setup.py install_exe -d "${MESHROOM_BUNDLE}" && \
|
||||
find ${MESHROOM_BUNDLE} -name "*Qt5Web*" -delete && \
|
||||
find ${MESHROOM_BUNDLE} -name "*Qt5Designer*" -delete && \
|
||||
rm -rf ${MESHROOM_BUNDLE}/lib/PySide2/typesystems/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/examples/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/include/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/Qt/translations/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/Qt/resources/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/QtWeb* \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/pyside2-lupdate \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/rcc \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/designer
|
||||
|
||||
WORKDIR ${MESHROOM_BUILD}
|
||||
|
||||
# Build Meshroom plugins
|
||||
RUN cmake "${MESHROOM_DEV}" -DALICEVISION_ROOT="${AV_INSTALL}" -DCMAKE_INSTALL_PREFIX="${MESHROOM_BUNDLE}/qtPlugins"
|
||||
RUN make "-j$(nproc)" qtOIIO
|
||||
|
||||
RUN make "-j$(nproc)" qmlAlembic
|
||||
RUN make "-j$(nproc)" qtAliceVision
|
||||
RUN make "-j$(nproc)" && \
|
||||
rm -rf "${MESHROOM_BUILD}" "${MESHROOM_DEV}" \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/doc \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/eigen3 \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/fonts \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/lemon \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/libraw \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/man/ \
|
||||
aliceVision/share/pkgconfig
|
||||
|
||||
# Enable SSH X11 forwarding, needed when the Docker image
|
||||
# is run on a remote machine
|
||||
RUN yum -y install openssh-server xauth mesa-dri-drivers && \
|
||||
systemctl enable sshd && \
|
||||
mkdir -p /run/sshd
|
||||
|
||||
RUN sed -i "s/^.*X11Forwarding.*$/X11Forwarding yes/; s/^.*X11UseLocalhost.*$/X11UseLocalhost no/; s/^.*PermitRootLogin prohibit-password/PermitRootLogin yes/; s/^.*X11UseLocalhost.*/X11UseLocalhost no/;" /etc/ssh/sshd_config
|
||||
RUN echo "root:meshroom" | chpasswd
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
EXPOSE 22
|
||||
CMD bash -c "test -s /etc/machine-id || systemd-machine-id-setup; sshd-keygen; /usr/sbin/sshd -D"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
ARG AV_VERSION
|
||||
ARG CUDA_VERSION=9.0
|
||||
ARG OS_VERSION=7
|
||||
FROM alicevision/alicevision:${AV_VERSION}-centos${OS_VERSION}-cuda${CUDA_VERSION}
|
||||
ARG CUDA_VERSION
|
||||
ARG CENTOS_VERSION=7
|
||||
FROM alicevision/alicevision:${AV_VERSION}-centos${CENTOS_VERSION}-cuda${CUDA_VERSION}
|
||||
LABEL maintainer="AliceVision Team alicevision-team@googlegroups.com"
|
||||
|
||||
# Execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
|
||||
|
@ -13,9 +13,6 @@ ENV MESHROOM_DEV=/opt/Meshroom \
|
|||
QT_CI_LOGIN=alicevisionjunk@gmail.com \
|
||||
QT_CI_PASSWORD=azerty1.
|
||||
|
||||
# Workaround for qmlAlembic/qtAliceVision builds: fuse lib/lib64 folders
|
||||
RUN cp -rf ${AV_INSTALL}/lib/* ${AV_INSTALL}/lib64 && rm -rf ${AV_INSTALL}/lib && ln -s ${AV_INSTALL}/lib64 ${AV_INSTALL}/lib
|
||||
|
||||
# Install libs needed by Qt
|
||||
RUN yum install -y \
|
||||
flex \
|
||||
|
@ -41,22 +38,17 @@ RUN yum install -y \
|
|||
# Install Python3
|
||||
RUN yum install -y centos-release-scl && yum install -y rh-python36 && source scl_source enable rh-python36 && pip install --upgrade pip
|
||||
|
||||
|
||||
COPY ./*requirements.txt ./setup.py "${MESHROOM_DEV}/"
|
||||
COPY ./*requirements.txt ./setup.py ${MESHROOM_DEV}/
|
||||
|
||||
# Install Meshroom requirements and freeze bundle
|
||||
WORKDIR "${MESHROOM_DEV}"
|
||||
RUN source scl_source enable rh-python36 && pip install -r dev_requirements.txt -r requirements.txt
|
||||
|
||||
COPY ./docker/qt-installer-noninteractive.qs "${MESHROOM_DEV}/docker/"
|
||||
|
||||
# Install Qt (to build plugins)
|
||||
ENV QT_VERSION_A=5.14 \
|
||||
QT_VERSION_B=5.14.1
|
||||
WORKDIR /tmp/qt
|
||||
RUN wget https://download.qt.io/archive/qt/${QT_VERSION_A}/${QT_VERSION_B}/qt-opensource-linux-x64-${QT_VERSION_B}.run && \
|
||||
chmod +x qt-opensource-linux-x64-${QT_VERSION_B}.run && \
|
||||
./qt-opensource-linux-x64-${QT_VERSION_B}.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs" && \
|
||||
rm qt-opensource-linux-x64-${QT_VERSION_B}.run
|
||||
|
||||
COPY dl/qt.run /tmp/qt
|
||||
COPY ./docker/qt-installer-noninteractive.qs ${MESHROOM_DEV}/docker/
|
||||
RUN chmod +x qt.run && \
|
||||
./qt.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs" && \
|
||||
rm qt.run
|
||||
|
71
docker/Dockerfile_ubuntu
Normal file
71
docker/Dockerfile_ubuntu
Normal file
|
@ -0,0 +1,71 @@
|
|||
ARG MESHROOM_VERSION
|
||||
ARG AV_VERSION
|
||||
ARG CUDA_VERSION
|
||||
ARG UBUNTU_VERSION
|
||||
FROM alicevision/meshroom-deps:${MESHROOM_VERSION}-av${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}
|
||||
LABEL maintainer="AliceVision Team alicevision-team@googlegroups.com"
|
||||
|
||||
# Execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
|
||||
# docker run -it --runtime nvidia -p 2222:22 --name meshroom -v</path/to/your/data>:/data alicevision/meshroom:develop-av2.2.8.develop-ubuntu20.04-cuda11.0
|
||||
# ssh -p 2222 -X root@<docker host> /opt/Meshroom_bundle/Meshroom # Password is 'meshroom'
|
||||
|
||||
ENV MESHROOM_DEV=/opt/Meshroom \
|
||||
MESHROOM_BUILD=/tmp/Meshroom_build \
|
||||
MESHROOM_BUNDLE=/opt/Meshroom_bundle \
|
||||
AV_INSTALL=/opt/AliceVision_install \
|
||||
QT_DIR=/opt/Qt5.14.1/5.14.1/gcc_64 \
|
||||
PATH="${PATH}:${MESHROOM_BUNDLE}" \
|
||||
OPENIMAGEIO_LIBRARY=/opt/AliceVision_install/lib
|
||||
|
||||
COPY *.txt *.md *.py ${MESHROOM_DEV}/
|
||||
COPY ./docs ${MESHROOM_DEV}/docs
|
||||
COPY ./meshroom ${MESHROOM_DEV}/meshroom
|
||||
COPY ./tests ${MESHROOM_DEV}/tests
|
||||
COPY ./bin ${MESHROOM_DEV}/bin
|
||||
|
||||
WORKDIR ${MESHROOM_DEV}
|
||||
|
||||
RUN python3 setup.py install_exe -d "${MESHROOM_BUNDLE}" && \
|
||||
find ${MESHROOM_BUNDLE} -name "*Qt5Web*" -delete && \
|
||||
find ${MESHROOM_BUNDLE} -name "*Qt5Designer*" -delete && \
|
||||
rm -rf ${MESHROOM_BUNDLE}/lib/PySide2/typesystems/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/examples/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/include/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/Qt/translations/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/Qt/resources/ \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/QtWeb* \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/pyside2-lupdate \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/rcc \
|
||||
${MESHROOM_BUNDLE}/lib/PySide2/designer
|
||||
|
||||
WORKDIR ${MESHROOM_BUILD}
|
||||
|
||||
# Build Meshroom plugins
|
||||
RUN cmake "${MESHROOM_DEV}" -DALICEVISION_ROOT="${AV_INSTALL}" -DCMAKE_INSTALL_PREFIX="${MESHROOM_BUNDLE}/qtPlugins"
|
||||
RUN make "-j$(nproc)" qtOIIO
|
||||
RUN make "-j$(nproc)" qmlAlembic
|
||||
RUN make "-j$(nproc)" qtAliceVision
|
||||
RUN make "-j$(nproc)" && \
|
||||
rm -rf "${MESHROOM_BUILD}" "${MESHROOM_DEV}" \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/doc \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/eigen3 \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/fonts \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/lemon \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/libraw \
|
||||
${MESHROOM_BUNDLE}/aliceVision/share/man/ \
|
||||
aliceVision/share/pkgconfig
|
||||
|
||||
# Enable SSH X11 forwarding, needed when the Docker image
|
||||
# is run on a remote machine
|
||||
RUN apt install ssh xauth && \
|
||||
systemctl enable ssh && \
|
||||
mkdir -p /run/sshd
|
||||
|
||||
RUN sed -i "s/^.*X11Forwarding.*$/X11Forwarding yes/; s/^.*X11UseLocalhost.*$/X11UseLocalhost no/; s/^.*PermitRootLogin prohibit-password/PermitRootLogin yes/; s/^.*X11UseLocalhost.*/X11UseLocalhost no/;" /etc/ssh/sshd_config
|
||||
RUN echo "root:meshroom" | chpasswd
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
EXPOSE 22
|
||||
CMD ["/usr/sbin/sshd", "-D"]
|
||||
|
75
docker/Dockerfile_ubuntu_deps
Normal file
75
docker/Dockerfile_ubuntu_deps
Normal file
|
@ -0,0 +1,75 @@
|
|||
ARG AV_VERSION
|
||||
ARG CUDA_VERSION
|
||||
ARG UBUNTU_VERSION
|
||||
FROM alicevision/alicevision:${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}
|
||||
LABEL maintainer="AliceVision Team alicevision-team@googlegroups.com"
|
||||
|
||||
# Execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
|
||||
# docker run -it --runtime=nvidia meshroom
|
||||
|
||||
ENV MESHROOM_DEV=/opt/Meshroom \
|
||||
MESHROOM_BUILD=/tmp/Meshroom_build \
|
||||
QT_DIR=/opt/Qt5.14.1/5.14.1/gcc_64 \
|
||||
QT_CI_LOGIN=alicevisionjunk@gmail.com \
|
||||
QT_CI_PASSWORD=azerty1.
|
||||
|
||||
# Workaround for qmlAlembic/qtAliceVision builds: fuse lib/lib64 folders
|
||||
#RUN ln -s ${AV_INSTALL}/lib ${AV_INSTALL}/lib64
|
||||
|
||||
# Install libs needed by Qt
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
|
||||
flex \
|
||||
fontconfig \
|
||||
libfreetype6 \
|
||||
libglib2.0-0 \
|
||||
libice6 \
|
||||
libx11-6 \
|
||||
libxcb1 \
|
||||
libxext6 \
|
||||
libxi6 \
|
||||
libxrender1 \
|
||||
libsm6 \
|
||||
libxt-dev \
|
||||
libglu-dev \
|
||||
libosmesa-dev \
|
||||
libgl-dev \
|
||||
libglu-dev \
|
||||
libqt5charts5-dev \
|
||||
libxcb-keysyms1 \
|
||||
libxcb-image0 \
|
||||
libxkbcommon-x11-0 \
|
||||
libz-dev \
|
||||
systemd \
|
||||
ssh
|
||||
|
||||
# Disabled as QTOIIO requires ah least 5.13 (5.12 available in Ubuntu 20.04)
|
||||
# qtdeclarative5-dev \
|
||||
# qt3d-assimpsceneimport-plugin \
|
||||
# qt3d-defaultgeometryloader-plugin \
|
||||
# qt3d-gltfsceneio-plugin \
|
||||
# qt3d-scene2d-plugin \
|
||||
# qt53dextras5 \
|
||||
# qt3d5-dev
|
||||
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
software-properties-common
|
||||
|
||||
# Install Python3
|
||||
RUN apt install python3-pip -y && pip3 install --upgrade pip
|
||||
|
||||
# Install Qt (to build plugins)
|
||||
WORKDIR /tmp/qt
|
||||
COPY dl/qt.run /tmp/qt
|
||||
COPY ./docker/qt-installer-noninteractive.qs ${MESHROOM_DEV}/docker/
|
||||
RUN chmod +x qt.run && \
|
||||
./qt.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs" && \
|
||||
rm qt.run
|
||||
|
||||
COPY ./*requirements.txt ./setup.py ${MESHROOM_DEV}/
|
||||
|
||||
# Install Meshroom requirements and freeze bundle
|
||||
WORKDIR "${MESHROOM_DEV}"
|
||||
RUN pip install -r dev_requirements.txt -r requirements.txt
|
||||
|
16
docker/build-all.sh
Executable file
16
docker/build-all.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
test -d docker || (
|
||||
echo This script must be run from the top level Meshroom directory
|
||||
exit 1
|
||||
)
|
||||
|
||||
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04 docker/build-ubuntu.sh
|
||||
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04 docker/build-ubuntu.sh
|
||||
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04 docker/build-ubuntu.sh
|
||||
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04 docker/build-ubuntu.sh
|
||||
|
||||
CUDA_VERSION=10.2 CENTOS_VERSION=7 docker/build-centos.sh
|
||||
CUDA_VERSION=9.2 CENTOS_VERSION=7 docker/build-centos.sh
|
37
docker/build-centos.sh
Executable file
37
docker/build-centos.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
test -z "$MESHROOM_VERSION" && MESHROOM_VERSION="$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)"
|
||||
test -z "$AV_VERSION" && echo "AliceVision version not specified, set AV_VERSION in the environment" && exit 1
|
||||
test -z "$CUDA_VERSION" && CUDA_VERSION="10.2"
|
||||
test -z "$CENTOS_VERSION" && CENTOS_VERSION=7
|
||||
|
||||
test -d docker || (
|
||||
echo This script must be run from the top level Meshroom directory
|
||||
exit 1
|
||||
)
|
||||
|
||||
test -d dl || \
|
||||
mkdir dl
|
||||
test -f dl/qt.run || \
|
||||
wget "https://download.qt.io/archive/qt/5.14/5.14.1/qt-opensource-linux-x64-5.14.1.run" -O "dl/qt.run"
|
||||
|
||||
# DEPENDENCIES
|
||||
docker build \
|
||||
--rm \
|
||||
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
|
||||
--build-arg "CENTOS_VERSION=${CENTOS_VERSION}" \
|
||||
--build-arg "AV_VERSION=${AV_VERSION}" \
|
||||
--tag "alicevision/meshroom-deps:${MESHROOM_VERSION}-av${AV_VERSION}-centos${CENTOS_VERSION}-cuda${CUDA_VERSION}" \
|
||||
-f docker/Dockerfile_centos_deps .
|
||||
|
||||
# Meshroom
|
||||
docker build \
|
||||
--rm \
|
||||
--build-arg "MESHROOM_VERSION=${MESHROOM_VERSION}" \
|
||||
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
|
||||
--build-arg "CENTOS_VERSION=${CENTOS_VERSION}" \
|
||||
--build-arg "AV_VERSION=${AV_VERSION}" \
|
||||
--tag "alicevision/meshroom:${MESHROOM_VERSION}-av${AV_VERSION}-centos${CENTOS_VERSION}-cuda${CUDA_VERSION}" \
|
||||
-f docker/Dockerfile_centos .
|
||||
|
37
docker/build-ubuntu.sh
Executable file
37
docker/build-ubuntu.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
test -z "$MESHROOM_VERSION" && MESHROOM_VERSION="$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)"
|
||||
test -z "$AV_VERSION" && echo "AliceVision version not specified, set AV_VERSION in the environment" && exit 1
|
||||
test -z "$CUDA_VERSION" && CUDA_VERSION=11.0
|
||||
test -z "$UBUNTU_VERSION" && UBUNTU_VERSION=20.04
|
||||
|
||||
test -d docker || (
|
||||
echo This script must be run from the top level Meshroom directory
|
||||
exit 1
|
||||
)
|
||||
|
||||
test -d dl || \
|
||||
mkdir dl
|
||||
test -f dl/qt.run || \
|
||||
"wget https://download.qt.io/archive/qt/5.14/5.14.1/qt-opensource-linux-x64-5.14.1.run" -O "dl/qt.run"
|
||||
|
||||
# DEPENDENCIES
|
||||
docker build \
|
||||
--rm \
|
||||
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
|
||||
--build-arg "UBUNTU_VERSION=${UBUNTU_VERSION}" \
|
||||
--build-arg "AV_VERSION=${AV_VERSION}" \
|
||||
--tag "alicevision/meshroom-deps:${MESHROOM_VERSION}-av${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}" \
|
||||
-f docker/Dockerfile_ubuntu_deps .
|
||||
|
||||
# Meshroom
|
||||
docker build \
|
||||
--rm \
|
||||
--build-arg "MESHROOM_VERSION=${MESHROOM_VERSION}" \
|
||||
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
|
||||
--build-arg "UBUNTU_VERSION=${UBUNTU_VERSION}" \
|
||||
--build-arg "AV_VERSION=${AV_VERSION}" \
|
||||
--tag "alicevision/meshroom:${MESHROOM_VERSION}-av${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}" \
|
||||
-f docker/Dockerfile_ubuntu .
|
||||
|
|
@ -28,6 +28,8 @@ Controller.prototype.ComponentSelectionPageCallback = function() {
|
|||
var widget = gui.currentPageWidget();
|
||||
widget.deselectAll();
|
||||
widget.selectComponent("qt.qt5.5141.gcc_64");
|
||||
widget.selectComponent("qt.qt5.5141.qtcharts");
|
||||
widget.selectComponent("qt.qt5.5141.qtcharts.gcc_64");
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
Controller.prototype.IntroductionPageCallback = function() {
|
||||
|
|
Loading…
Add table
Reference in a new issue