Skip to content

Commit ace47cb

Browse files
committed
Add older ubuntu versios for compatibility
1 parent b7a3ef5 commit ace47cb

File tree

2 files changed

+260
-0
lines changed

2 files changed

+260
-0
lines changed

Dockerfile.1604

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
FROM ubuntu:16.04 AS updated
2+
ENV DEBIAN_FRONTEND=noninteractive
3+
RUN apt-get update -qq && apt-get upgrade -qq
4+
5+
FROM updated as build
6+
ENV DEBIAN_FRONTEND=noninteractive
7+
RUN apt-get update -qq
8+
RUN apt-get install -y \
9+
build-essential \
10+
cmake \
11+
git \
12+
graphviz \
13+
libatlas-base-dev \
14+
libboost-filesystem-dev \
15+
libboost-iostreams-dev \
16+
libboost-program-options-dev \
17+
libboost-regex-dev \
18+
libboost-serialization-dev \
19+
libboost-system-dev \
20+
libboost-test-dev \
21+
libboost-graph-dev \
22+
libcgal-dev \
23+
libcgal-qt5-dev \
24+
libfreeimage-dev \
25+
libgflags-dev \
26+
libglew-dev \
27+
libglu1-mesa-dev \
28+
libgoogle-glog-dev \
29+
libjpeg-dev \
30+
libopencv-dev \
31+
libpng-dev \
32+
libqt5opengl5-dev \
33+
libsuitesparse-dev \
34+
libtiff-dev \
35+
libxi-dev \
36+
libxrandr-dev \
37+
libxxf86vm-dev \
38+
libxxf86vm1 \
39+
mediainfo \
40+
mercurial \
41+
qtbase5-dev \
42+
libatlas-base-dev \
43+
libsuitesparse-dev
44+
45+
WORKDIR /tmp/build
46+
47+
# Install openmvg
48+
RUN git clone -b develop --recursive https://github.com/openMVG/openMVG.git openmvg && \
49+
mkdir openmvg_build && cd openmvg_build && \
50+
cmake -DCMAKE_BUILD_TYPE=RELEASE . ../openmvg/src -DCMAKE_INSTALL_PREFIX=/opt/openmvg && \
51+
make -j4 && \
52+
make install
53+
54+
# Install eigen
55+
RUN hg clone https://bitbucket.org/eigen/eigen#3.2 eigen && \
56+
mkdir eigen_build && cd eigen_build && \
57+
cmake . ../eigen && \
58+
make -j4 && \
59+
make install
60+
61+
# Get vcglib
62+
RUN git clone https://github.com/cdcseacave/VCG.git vcglib
63+
64+
# Install ceres solver
65+
RUN git clone https://ceres-solver.googlesource.com/ceres-solver ceres_solver && \
66+
cd ceres_solver && git checkout tags/1.14.0 && cd .. && \
67+
mkdir ceres_build && cd ceres_build && \
68+
cmake . ../ceres_solver/ -DMINIGLOG=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF && \
69+
make -j4 && \
70+
make install
71+
72+
# Install openmvs
73+
RUN git clone https://github.com/cdcseacave/openMVS.git openmvs && \
74+
mkdir openmvs_build && cd openmvs_build && \
75+
cmake . ../openmvs -DCMAKE_BUILD_TYPE=Release -DVCG_DIR="../vcglib" -DCMAKE_INSTALL_PREFIX=/opt/openmvs && \
76+
make -j4 && \
77+
make install
78+
79+
# Install cmvs-pmvs
80+
RUN git clone https://github.com/pmoulon/CMVS-PMVS /tmp/build/cmvs-pmvs && \
81+
mkdir /tmp/build/cmvs-pmvs_build && cd /tmp/build/cmvs-pmvs_build && \
82+
cmake ../cmvs-pmvs/program -DCMAKE_INSTALL_PREFIX=/opt/cmvs && \
83+
make -j4 && \
84+
make install
85+
86+
# Install colmap
87+
RUN git clone -b master https://github.com/colmap/colmap /tmp/build/colmap && \
88+
mkdir -p /tmp/build/colmap_build && cd /tmp/build/colmap_build && \
89+
cmake . ../colmap -DCMAKE_INSTALL_PREFIX=/opt/colmap && \
90+
make -j4 && \
91+
make install
92+
93+
# ..and then create a more lightweight image to actually run stuff in.
94+
FROM updated
95+
ENV DEBIAN_FRONTEND=noninteractive
96+
ARG UID=1000
97+
ARG GID=1000
98+
RUN apt-get update && apt-get install -y \
99+
curl \
100+
exiftool \
101+
ffmpeg \
102+
mediainfo \
103+
graphviz \
104+
libpng12-0 \
105+
libjpeg-turbo8 \
106+
libtiff5 \
107+
libxxf86vm1 \
108+
libxi6 \
109+
libxrandr2 \
110+
libatlas-base-dev \
111+
libqt5widgets5 \
112+
libboost-iostreams1.58.0 \
113+
libboost-program-options1.58.0 \
114+
libboost-serialization1.58.0 \
115+
libopencv-calib3d2.4v5 \
116+
libopencv-highgui2.4v5 \
117+
libgoogle-glog0v5 \
118+
libfreeimage3 \
119+
libcgal11v5 \
120+
libglew1.13 \
121+
libcholmod3.0.6 \
122+
libcxsparse3.1.4 \
123+
python-minimal
124+
COPY --from=build /opt /opt
125+
COPY pipeline.py /opt/dpg/pipeline.py
126+
RUN groupadd -g $GID ptools
127+
RUN useradd -r -u $UID -m -g ptools ptools
128+
WORKDIR /
129+
USER ptools
130+
ENV PATH=/opt/openmvs/bin/OpenMVS:/opt/openmvg/bin:/opt/cmvs/bin:/opt/colmap/bin:/opt/dpg:$PATH

Dockerfile.1804

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
FROM ubuntu:18.04 AS updated
2+
ENV DEBIAN_FRONTEND=noninteractive
3+
RUN apt-get update -qq && apt-get upgrade -qq
4+
5+
FROM updated as build
6+
ENV DEBIAN_FRONTEND=noninteractive
7+
RUN apt-get update -qq
8+
RUN apt-get install -y \
9+
build-essential \
10+
cmake \
11+
git \
12+
graphviz \
13+
libatlas-base-dev \
14+
libboost-filesystem-dev \
15+
libboost-iostreams-dev \
16+
libboost-program-options-dev \
17+
libboost-regex-dev \
18+
libboost-serialization-dev \
19+
libboost-system-dev \
20+
libboost-test-dev \
21+
libboost-graph-dev \
22+
libcgal-dev \
23+
libcgal-qt5-dev \
24+
libfreeimage-dev \
25+
libgflags-dev \
26+
libglew-dev \
27+
libglu1-mesa-dev \
28+
libgoogle-glog-dev \
29+
libjpeg-dev \
30+
libopencv-dev \
31+
libpng-dev \
32+
libqt5opengl5-dev \
33+
libsuitesparse-dev \
34+
libtiff-dev \
35+
libxi-dev \
36+
libxrandr-dev \
37+
libxxf86vm-dev \
38+
libxxf86vm1 \
39+
mediainfo \
40+
mercurial \
41+
qtbase5-dev \
42+
libatlas-base-dev \
43+
libsuitesparse-dev
44+
45+
WORKDIR /tmp/build
46+
47+
# Install openmvg
48+
RUN git clone -b develop --recursive https://github.com/openMVG/openMVG.git openmvg && \
49+
mkdir openmvg_build && cd openmvg_build && \
50+
cmake -DCMAKE_BUILD_TYPE=RELEASE . ../openmvg/src -DCMAKE_INSTALL_PREFIX=/opt/openmvg && \
51+
make -j4 && \
52+
make install
53+
54+
# Install eigen
55+
RUN git clone https://gitlab.com/libeigen/eigen.git --branch 3.2 && \
56+
mkdir eigen_build && cd eigen_build && \
57+
cmake . ../eigen && \
58+
make -j4 && \
59+
make install
60+
61+
# Get vcglib
62+
RUN git clone https://github.com/cdcseacave/VCG.git vcglib
63+
64+
# Install ceres solver
65+
RUN git clone https://ceres-solver.googlesource.com/ceres-solver ceres_solver && \
66+
cd ceres_solver && git checkout tags/1.14.0 && cd .. && \
67+
mkdir ceres_build && cd ceres_build && \
68+
cmake . ../ceres_solver/ -DMINIGLOG=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF && \
69+
make -j4 && \
70+
make install
71+
72+
# Install openmvs
73+
RUN git clone https://github.com/cdcseacave/openMVS.git openmvs && \
74+
mkdir openmvs_build && cd openmvs_build && \
75+
cmake . ../openmvs -DCMAKE_BUILD_TYPE=Release -DVCG_DIR="../vcglib" -DCMAKE_INSTALL_PREFIX=/opt/openmvs && \
76+
make -j4 && \
77+
make install
78+
79+
# Install cmvs-pmvs
80+
RUN git clone https://github.com/pmoulon/CMVS-PMVS /tmp/build/cmvs-pmvs && \
81+
mkdir /tmp/build/cmvs-pmvs_build && cd /tmp/build/cmvs-pmvs_build && \
82+
cmake ../cmvs-pmvs/program -DCMAKE_INSTALL_PREFIX=/opt/cmvs && \
83+
make -j4 && \
84+
make install
85+
86+
# Install colmap
87+
RUN git clone -b master https://github.com/colmap/colmap /tmp/build/colmap && \
88+
mkdir -p /tmp/build/colmap_build && cd /tmp/build/colmap_build && \
89+
cmake . ../colmap -DCMAKE_INSTALL_PREFIX=/opt/colmap && \
90+
make -j4 && \
91+
make install
92+
93+
# ..and then create a more lightweight image to actually run stuff in.
94+
FROM updated
95+
ENV DEBIAN_FRONTEND=noninteractive
96+
ARG UID=1000
97+
ARG GID=1000
98+
RUN apt-get update && apt-get install -y \
99+
curl \
100+
exiftool \
101+
ffmpeg \
102+
mediainfo \
103+
graphviz \
104+
libpng16-16 \
105+
libjpeg-turbo8 \
106+
libtiff5 \
107+
libxxf86vm1 \
108+
libxi6 \
109+
libxrandr2 \
110+
libatlas-base-dev \
111+
libqt5widgets5 \
112+
libboost-iostreams1.65.1 \
113+
libboost-program-options1.65.1 \
114+
libboost-serialization1.65.1 \
115+
libopencv-calib3d3.2 \
116+
libopencv-highgui3.2 \
117+
libgoogle-glog0v5 \
118+
libfreeimage3 \
119+
libcgal13 \
120+
libglew2.0 \
121+
libcholmod3 \
122+
libcxsparse3 \
123+
python-minimal
124+
COPY --from=build /opt /opt
125+
COPY pipeline.py /opt/dpg/pipeline.py
126+
RUN groupadd -g $GID ptools
127+
RUN useradd -r -u $UID -m -g ptools ptools
128+
WORKDIR /
129+
USER ptools
130+
ENV PATH=/opt/openmvs/bin/OpenMVS:/opt/openmvg/bin:/opt/cmvs/bin:/opt/colmap/bin:/opt/dpg:$PATH

0 commit comments

Comments
 (0)