forked from alicevision/Meshroom
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile_deps
More file actions
62 lines (50 loc) · 2.09 KB
/
Dockerfile_deps
File metadata and controls
62 lines (50 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
ARG AV_VERSION
ARG CUDA_VERSION=9.0
ARG OS_VERSION=7
FROM alicevision/alicevision:${AV_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 \
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 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 \
fontconfig \
freetype \
glib2 \
libICE \
libX11 \
libxcb \
libXext \
libXi \
libXrender \
libSM \
libXt-devel \
libGLU-devel \
mesa-libOSMesa-devel \
mesa-libGL-devel \
mesa-libGLU-devel \
xcb-util-keysyms \
xcb-util-image \
libxkbcommon-x11
# 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}/"
# 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