-
-
Notifications
You must be signed in to change notification settings - Fork 822
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 #785 from alicevision/fix/all-in-one-build
Fixes docker and all-in-one cmake build
- Loading branch information
Showing
4 changed files
with
63 additions
and
31 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
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 |
---|---|---|
|
@@ -17,30 +17,39 @@ LABEL maintainer="AliceVision Team [email protected]" | |
# OS/Version (FILE): cat /etc/issue.net | ||
# Cuda version (ENV): $CUDA_VERSION | ||
|
||
ENV AV_DEV=/opt/AliceVisionDeps_git \ | ||
AV_BUILD=/tmp/AliceVisionDeps_build \ | ||
ENV AV_DEPS_DEV=/opt/AliceVisionDeps_git \ | ||
AV_DEPS_BUILD=/tmp/AliceVisionDeps_build \ | ||
AV_INSTALL=/opt/AliceVision_install \ | ||
AV_BUNDLE=/opt/AliceVision_bundle \ | ||
PATH="${PATH}:${AV_BUNDLE}" \ | ||
VERBOSE=1 | ||
VERBOSE=1 \ | ||
YUM_INSTALL='yum install -y --setopt=tsflags=nodocs' | ||
|
||
# | ||
# Install all compilation tools | ||
# - file and openssl are needed for cmake | ||
RUN yum -y install centos-release-scl | ||
RUN yum -y install \ | ||
devtoolset-6 \ | ||
devtoolset-6-make \ | ||
devtoolset-6-gcc-gfortran \ | ||
file \ | ||
git \ | ||
wget \ | ||
unzip \ | ||
yasm \ | ||
pkg-config \ | ||
libtool \ | ||
nasm \ | ||
automake \ | ||
openssl-devel | ||
# | ||
# Workaround to give access to deprecated devtoolset-6 is taken from ASWF container: | ||
# https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/scripts/common/install_yumpackages.sh#L119 | ||
# | ||
# Install packages one by one with yum to ensure that it creates an error if a package is missing. | ||
# | ||
RUN $YUM_INSTALL centos-release-scl-rh && \ | ||
$YUM_INSTALL yum-utils && \ | ||
sed -i 's/7/7.6.1810/g; s|^#\s*\(baseurl=http://\)mirror|\1vault|g; /mirrorlist/d' /etc/yum.repos.d/CentOS-SCLo-*.repo && \ | ||
yum clean all && \ | ||
$YUM_INSTALL devtoolset-6-toolchain --nogpgcheck && \ | ||
$YUM_INSTALL --enablerepo=extras epel-release && \ | ||
$YUM_INSTALL file && \ | ||
$YUM_INSTALL git && \ | ||
$YUM_INSTALL wget && \ | ||
$YUM_INSTALL unzip && \ | ||
$YUM_INSTALL yasm && \ | ||
$YUM_INSTALL pkgconfig && \ | ||
$YUM_INSTALL libtool && \ | ||
$YUM_INSTALL nasm && \ | ||
$YUM_INSTALL automake && \ | ||
$YUM_INSTALL openssl-devel | ||
|
||
# Okay, change our shell to specifically use our software collections. | ||
# (default was SHELL [ "/bin/sh", "-c" ]) | ||
|
@@ -60,12 +69,27 @@ RUN wget https://cmake.org/files/v3.16/cmake-3.16.3.tar.gz && tar zxvf cmake-3.1 | |
WORKDIR "${AV_BUNDLE}/share/aliceVision" | ||
RUN wget https://gitlab.com/alicevision/trainedVocabularyTreeData/raw/master/vlfeat_K80L3.SIFT.tree | ||
|
||
COPY . "${AV_DEV}" | ||
COPY . "${AV_DEPS_DEV}" | ||
|
||
WORKDIR "${AV_DEPS_BUILD}" | ||
# Build and clear build files in one line to reduce image size (avoid intermediate cache) | ||
RUN \ | ||
\ | ||
cmake "${AV_DEPS_DEV}" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON -DALICEVISION_BUILD_DEPENDENCIES:BOOL=ON -DAV_DEPS_BUILD_ALICEVISION:BOOL=OFF -DCMAKE_INSTALL_PREFIX="${AV_INSTALL}" -DALICEVISION_BUNDLE_PREFIX="${AV_BUNDLE}" && \ | ||
\ | ||
make -j8 && \ | ||
\ | ||
make install && \ | ||
\ | ||
mv ${AV_INSTALL}/bin ${AV_INSTALL}/bin_deps && \ | ||
\ | ||
cd /opt && \ | ||
\ | ||
rm -rf "${AV_DEPS_BUILD}" | ||
|
||
WORKDIR "${AV_BUILD}" | ||
RUN cmake "${AV_DEV}" -DCMAKE_BUILD_TYPE=Release -DALICEVISION_BUILD_DEPENDENCIES:BOOL=ON -DAV_BUILD_ALICEVISION:BOOL=OFF -DCMAKE_INSTALL_PREFIX="${AV_INSTALL}" -DALICEVISION_BUNDLE_PREFIX="${AV_BUNDLE}" | ||
## To debug a specific library | ||
|
||
WORKDIR "${AV_BUILD}" | ||
# WORKDIR "${AV_DEPS_BUILD}" | ||
# RUN make zlib | ||
# RUN make geogram | ||
# RUN make tbb | ||
|
@@ -84,5 +108,3 @@ WORKDIR "${AV_BUILD}" | |
# RUN make alembic | ||
# RUN make popsift | ||
|
||
RUN make install && mv ${AV_INSTALL}/bin ${AV_INSTALL}/bin_deps | ||
# && 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