From 99cc3d96366de5749468ffa4f72695eacb5d280c Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Mon, 16 Dec 2019 15:38:31 +0100 Subject: [PATCH] build: Updated Docker Linux 64bit image to Qt 5.12.6 and LLVM/Clang 9.0.0 * updated to CentOS 7 * removed 32bit image --- .gitlab-ci.yml | 2 +- CMakeLists.txt | 6 + cmake/linux_package.cmake | 4 +- .../dockerfiles/linux/centos6_32/Dockerfile | 155 ------------------ .../dockerfiles/linux/centos6_32/README.md | 13 -- .../linux/centos6_64_base/Dockerfile | 40 ----- .../linux/centos6_64_dev/Dockerfile | 22 --- .../{centos6_64 => centos7_64}/Dockerfile | 57 +++---- .../{centos6_64 => centos7_64}/README.md | 0 .../linux/centos7_64_base/Dockerfile | 52 ++++++ .../README.md | 0 script/buildonly.sh | 4 +- 12 files changed, 86 insertions(+), 269 deletions(-) delete mode 100755 deployment/dockerfiles/linux/centos6_32/Dockerfile delete mode 100644 deployment/dockerfiles/linux/centos6_32/README.md delete mode 100755 deployment/dockerfiles/linux/centos6_64_base/Dockerfile delete mode 100755 deployment/dockerfiles/linux/centos6_64_dev/Dockerfile rename deployment/dockerfiles/linux/{centos6_64 => centos7_64}/Dockerfile (67%) rename deployment/dockerfiles/linux/{centos6_64 => centos7_64}/README.md (100%) create mode 100755 deployment/dockerfiles/linux/centos7_64_base/Dockerfile rename deployment/dockerfiles/linux/{centos6_64_base => centos7_64_base}/README.md (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b1b2779..809c325a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ variables: MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" - IMAGE_64: coatisoftware/centos6_64_qt_llvm:qt5101-llvm800 + IMAGE_64: coatisoftware/centos7_64_qt_llvm:qt5126-llvm900 IMAGE_32: coatisoftware/centos6_32_qt_llvm:qt5101-llvm800 ## Templates ## diff --git a/CMakeLists.txt b/CMakeLists.txt index 4929eb55..aaf04cf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ endif() set(BUILD_CXX_LANGUAGE_PACKAGE OFF CACHE BOOL "Add C and C++ support to the Sourcetrail indexer.") set(BUILD_JAVA_LANGUAGE_PACKAGE OFF CACHE BOOL "Add Java support to the Sourcetrail indexer.") set(BUILD_PYTHON_LANGUAGE_PACKAGE OFF CACHE BOOL "Add Python support to the Sourcetrail indexer.") +set(DOCKER_BUILD OFF CACHE BOOL "Build runs in Docker") #set (CMAKE_VERBOSE_MAKEFILE ON) @@ -82,6 +83,11 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") ADD_COMPILE_OPTIONS(/MP) endif() +# FIXME: necessary to fix build in Docker +if (DOCKER_BUILD) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++") +endif() + # For debugging the release build on linux #if (UNIX AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release") #add_definitions(-fno-omit-frame-pointer) diff --git a/cmake/linux_package.cmake b/cmake/linux_package.cmake index d34c1427..345c02a9 100644 --- a/cmake/linux_package.cmake +++ b/cmake/linux_package.cmake @@ -1,6 +1,6 @@ function(InstallQtModule module qtversion) - get_filename_component(realpath $ENV{QT_DIR}/lib/libQt5${module}.so.${qtversion} REALPATH) + get_filename_component(realpath $ENV{Qt5_DIR}/lib/libQt5${module}.so.${qtversion} REALPATH) INSTALL(FILES ${realpath} DESTINATION Sourcetrail/lib @@ -99,7 +99,7 @@ function(AddSharedToComponent) GetAndInstallLibrary(libcrypto.so 1) INSTALL(DIRECTORY - $ENV{QT_DIR}/plugins/platforms + $ENV{Qt5_DIR}/plugins/platforms DESTINATION Sourcetrail/lib ) diff --git a/deployment/dockerfiles/linux/centos6_32/Dockerfile b/deployment/dockerfiles/linux/centos6_32/Dockerfile deleted file mode 100755 index c5fb1c8e..00000000 --- a/deployment/dockerfiles/linux/centos6_32/Dockerfile +++ /dev/null @@ -1,155 +0,0 @@ -FROM toopher/centos-i386:centos6 - -MAINTAINER "Andreas Stallinger" - -WORKDIR /opt - -RUN rpm --rebuilddb; yum install -y yum-plugin-ovl ca-certificates; - -RUN yum -y install wget && \ -wget https://copr.fedorainfracloud.org/coprs/mlampe/devtoolset-6/repo/\ -epel-6/mlampe-devtoolset-6-epel-6.repo -O /etc/yum.repos.d/mlampe-devtoolset.repo && \ -yum -y update && \ -yum -y install devtoolset-6-gcc devtoolset-6-gcc-c++ devtoolset-6-binutils \ - wget tar bzip2 git libtool which fuse fuse-devel libpng-devel automake \ - glibc-headers libstdc++-devel gcc-c++ freetype-devel fontconfig-devel \ - ibxml2-devel libstdc++-devel libXrender-devel patch xcb-util-keysyms-devel \ - libXi-devel libudev-devel openssl-devel sqlite-devel \ - gperftools gperf libicu-devel boost-devel \ - libxslt-devel docbook-style-xsl.noarch python27 \ - xz mesa-libEGL-devel mesa-libGL-devel glib-devel \ - java-1.8.0-openjdk-devel ccache re2c ImageMagick vim lftp unzip && \ -yum clean all - -# CMake and Maven -RUN wget https://cmake.org/files/v3.8/cmake-3.8.2.tar.gz && \ -tar xf cmake-3.8.2.tar.gz && \ -cd cmake-3.8.2 && ./bootstrap && \ -make && make install && \ -cd .. && rm cmake-3.8.2.tar.gz && \ -rm -rf cmake-3.8.2 && \ -wget https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz && \ -tar xzf apache-maven-3.5.0-bin.tar.gz && \ -ln -s apache-maven-3.5.0 maven && \ -rm apache-maven-3.5.0-bin.tar.gz - -ENV M2_HOME=/opt/maven -ENV PATH=${M2_HOME}/bin:${PATH} - -# Install Qt -ARG QVERSION_SHORT=5.10 -ARG QTVERSION=5.10.1 - -# Install Qt -RUN mkdir -p /qt && cd /qt && \ -wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/\ -single/qt-everywhere-src-${QTVERSION}.tar.xz && \ -tar xvf qt-everywhere-src-${QTVERSION}.tar.xz && \ -ln -sf /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++ && \ -ln -sf /opt/rh/devtoolset-6/root/usr/bin/c++ /usr/bin/c++ && \ -cd /qt/qt-everywhere-src-${QTVERSION} && \ -./configure -v \ --prefix /opt/qt${QTVERSION} \ --skip qtgamepad \ --platform linux-g++ \ --qt-pcre \ --qt-xcb \ --qt-xkbcommon \ --no-pch \ --xkb-config-root /usr/share/X11/xkb \ --no-use-gold-linker \ --release \ --no-compile-examples \ --confirm-license \ --opensource \ --nomake examples \ --nomake tests \ --skip sensors \ --skip webchannel \ --skip webengine \ --skip 3d \ --skip doc \ --skip multimedia \ --skip tools \ --skip connectivity \ --skip androidextras \ --skip canvas3d && \ -make -j8 && \ -make -j8 install && rm -Rf /qt - -## set env -ENV CXX=g++ \ -CC=gcc \ -DEVTOOLSET=/opt/rh/devtoolset-6/root/usr/ - -RUN wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz && \ -tar xzf Python-2.7.13.tgz && \ -cd Python-2.7.13 && \ -./configure && \ -make altinstall - -## Install llvm -ARG LLVM_VERSION=8.0.0 -RUN alias python=/usr/local/bin/python2.7 && mkdir -p /llvm && cd /llvm && \ -wget http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz && \ -tar xf llvm-${LLVM_VERSION}.src.tar.xz && \ -cd llvm-${LLVM_VERSION}.src && pwd && \ -cd tools && pwd && \ -wget http://llvm.org/releases/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz && \ -tar xf cfe-${LLVM_VERSION}.src.tar.xz && \ -cd /llvm/llvm-${LLVM_VERSION}.src/projects && \ -wget http://llvm.org/releases/${LLVM_VERSION}/compiler-rt-${LLVM_VERSION}.src.tar.xz && \ -tar xf compiler-rt-${LLVM_VERSION}.src.tar.xz && \ -. /opt/rh/devtoolset-6/enable && \ -cd /llvm/llvm-${LLVM_VERSION}.src && mkdir -p build && cd build && \ -cmake .. -DCMAKE_INSTALL_PREFIX=/opt/llvm/ \ --DCMAKE_BUILD_TYPE=Release \ --DLLVM_ENABLE_RTTI=ON \ -&& make -j8 install && rm -Rf /llvm -#COPY scripts/install-llvm.sh /opt/ -#RUN ./install-llvm.sh - -## Boost -ARG BOOST_MAJOR=1 -ARG BOOST_MINOR=68 -ARG BOOST_PATCH=0 -ENV BOOST_VERSION=${BOOST_MAJOR}.${BOOST_MINOR}.${BOOST_PATCH} \ -BOOST_VERSION_UNDERSCORE=${BOOST_MAJOR}_${BOOST_MINOR}_${BOOST_PATCH} - -RUN wget http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_UNDERSCORE}.tar.gz && \ -tar -xzf boost_${BOOST_VERSION_UNDERSCORE}.tar.gz && cd boost_${BOOST_VERSION_UNDERSCORE} && \ -./bootstrap.sh --with-libraries=filesystem,program_options,system,date_time --prefix=/opt/boost && \ -./b2 install cxxstd=14 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags="-std=c++14 -fPIC" && \ -cd .. && rm boost_${BOOST_VERSION_UNDERSCORE}.tar.gz && rm boost_${BOOST_VERSION_UNDERSCORE} -r - -## Ninja -RUN git clone https://github.com/martine/ninja.git && \ -cd ninja && \ -git checkout release && \ -./configure.py --bootstrap && \ -mv ninja /usr/bin/ && \ -cd .. && rm -rf ninja - -#add user -RUN useradd builder - -# Make sure the above SCLs are already enabled -#ENTRYPOINT ["/bin/bash", "-c", "source", "/opt/rh/devtoolset-6/enable"] -#CMD ["/bin/bash", "-c", "source", "/opt/rh/devtoolset-6/enable"] - -RUN GCC_VERSION=$(g++ -dumpversion) && \ -ln -s /opt/rh/devtoolset-6/root/usr/include/c++/${GCC_VERSION} /usr/include/c++/${GCC_VERSION} && \ -ln -s /opt/rh/devtoolset-6/root/usr/lib/gcc/i686-redhat-linux/${GCC_VERSION} \ -/usr/lib/gcc/i686-redhat-linux/${GCC_VERSION} && \ -echo "source /opt/rh/devtoolset-6/enable" >> /etc/bashrc - -ENV CXX=/opt/rh/devtoolset-6/root/usr/bin/g++ \ -CC=/opt/rh/devtoolset-6/root/usr/bin/gcc \ -JAVA_HOME=/usr/lib/jvm/java-openjdk \ -LLVM_DIR=/opt/llvm \ -BOOST_DIR=/opt/boost \ -QT_DIR=/opt/qt${QTVERSION} - -WORKDIR /home/builder -USER builder - diff --git a/deployment/dockerfiles/linux/centos6_32/README.md b/deployment/dockerfiles/linux/centos6_32/README.md deleted file mode 100644 index c457459b..00000000 --- a/deployment/dockerfiles/linux/centos6_32/README.md +++ /dev/null @@ -1,13 +0,0 @@ -32 bit Builder for Sourcetrail -============================== - -based on centos 6 - -* devtoolset4 (gcc) -* cmake 3.8.2 -* maven 3.5.0 -* qt 5.9.1 -* llvm 5.0.0 -* boost 1.64.0 -* ninja (release branch Aug2017) -* cxxtext 4.4 diff --git a/deployment/dockerfiles/linux/centos6_64_base/Dockerfile b/deployment/dockerfiles/linux/centos6_64_base/Dockerfile deleted file mode 100755 index 2e1cddba..00000000 --- a/deployment/dockerfiles/linux/centos6_64_base/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM centos:6 - -MAINTAINER "Andreas Stallinger" - -WORKDIR /opt - -RUN rpm --rebuilddb; yum install -y yum-plugin-ovl ca-certificates; - -RUN yum -y install centos-release-scl epel-release && \ -yum -y install wget devtoolset-6-gcc devtoolset-6-gcc-c++ devtoolset-6-binutils \ - wget tar bzip2 git libtool which fuse fuse-devel libpng-devel automake \ - glibc-headers libstdc++-devel gcc-c++ freetype-devel fontconfig-devel\ - libxml2-devel libstdc++-devel libXrender-devel patch xcb-util-keysyms-devel \ - libXi-devel libudev-devel.x86_64 openssl-devel sqlite-devel.x86_64 \ - gperftools.x86_64 gperf.x86_64 libicu-devel.x86_64 boost-devel.x86_64 \ - libxslt-devel.x86_64 python27.x86_64 \ - xz mesa-libEGL-devel mesa-libGL-devel glib-devel \ - java-1.8.0-openjdk-devel re2c ccache ImageMagick vim lftp unzip && \ -yum clean all - -# CMake -RUN wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz && \ -tar xf cmake-3.8.2-Linux-x86_64.tar.gz && \ -cd cmake-3.8.2-Linux-x86_64 && cp -R * / && \ -cd .. && rm -rf cmake-3.8.2-Linux-x86_64 && \ -rm cmake-3.8.2-Linux-x86_64.tar.gz && \ -wget https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz && \ -tar xzf apache-maven-3.5.0-bin.tar.gz && \ -ln -s apache-maven-3.5.0 maven && \ -rm apache-maven-3.5.0-bin.tar.gz - -ENV M2_HOME=/opt/maven \ -JAVA_HOME=/usr/lib/jvm/java-openjdk \ -DEVTOOLSET=/opt/rh/devtoolset-6/root/usr/ -ENV PATH=${M2_HOME}/bin:${PATH} - -# Make sure the above SCLs are already enabled -ENTRYPOINT ["/usr/bin/scl", "enable", "python27", "devtoolset-6", "git", "--"] -CMD ["/usr/bin/scl", "enable", "python27", "devtoolset-6", "git", "--", "/bin/bash"] - diff --git a/deployment/dockerfiles/linux/centos6_64_dev/Dockerfile b/deployment/dockerfiles/linux/centos6_64_dev/Dockerfile deleted file mode 100755 index 53298015..00000000 --- a/deployment/dockerfiles/linux/centos6_64_dev/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM coatisoftware/centos6_64_qt_llvm:qt591-llvm401 - -MAINTAINER "Andreas Stallinger" - -USER root - -WORKDIR /opt - -RUN yum install -y yum install xorg-x11-drv-nouveau.x86_64 firefox gdb xkeyboard-config p7zip && yum clean all - -ENV QT_XKB_CONFIG_ROOT="/usr/share/X11/xkb:$QT_XKB_CONFIG_ROOT" -RUN export uid=0 gid=0 - -RUN dbus-uuidgen > /var/lib/dbus/machine-id && \ -wget http://download.qt.io/official_releases/qtcreator/4.2/4.2.0/installer_source/linux_gcc_64_rhel66/qtcreator.7z && \ -7za x qtcreator.7z -o/usr/local && \ -rm qtcreator.7z - -WORKDIR /home/builder -USER builder -CMD /usr/bin/firefox - diff --git a/deployment/dockerfiles/linux/centos6_64/Dockerfile b/deployment/dockerfiles/linux/centos7_64/Dockerfile similarity index 67% rename from deployment/dockerfiles/linux/centos6_64/Dockerfile rename to deployment/dockerfiles/linux/centos7_64/Dockerfile index d662d60d..c28df22a 100755 --- a/deployment/dockerfiles/linux/centos6_64/Dockerfile +++ b/deployment/dockerfiles/linux/centos7_64/Dockerfile @@ -1,36 +1,39 @@ -FROM coatisoftware/centos6_64_base +FROM coatisoftware/centos7_64_base -MAINTAINER "Andreas Stallinger" +MAINTAINER "Eberhard Graether" + +RUN make --version +RUN cmake --version +RUN mvn --version +RUN ninja --version WORKDIR /opt ## set env -ARG QVERSION_SHORT=5.10 -ARG QTVERSION=5.10.1 +ARG QTVERSION_SHORT=5.12 +ARG QTVERSION=5.12.6 -ENV QT_DIR=/opt/qt${QTVERSION} \ -LLVM_DIR=/opt/llvm \ -BOOST_DIR=/opt/boost \ -LD_LIBRARY_PATH=$QT_DIR/lib/ +ENV Qt5_DIR=/opt/qt${QTVERSION} \ +Clang_DIR=/opt/llvm \ +BOOST_ROOT=/opt/boost \ +LD_LIBRARY_PATH=$Qt5_DIR/lib/ -# Install Qt +# Qt RUN mkdir -p /qt && cd /qt && \ -wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/\ +wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/\ single/qt-everywhere-src-${QTVERSION}.tar.xz && \ tar xvf qt-everywhere-src-${QTVERSION}.tar.xz && \ -ln -sf /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++ && \ -ln -sf /opt/rh/devtoolset-6/root/usr/bin/c++ /usr/bin/c++ && \ +ln -sf /opt/rh/devtoolset-7/root/usr/bin/g++ /usr/bin/g++ && \ +ln -sf /opt/rh/devtoolset-7/root/usr/bin/c++ /usr/bin/c++ && \ cd /qt/qt-everywhere-src-${QTVERSION} && \ ./configure -v \ -prefix /opt/qt${QTVERSION} \ -skip qtgamepad \ -platform linux-g++ \ -#-no-rpath \ -qt-pcre \ -qt-xcb \ --qt-xkbcommon \ +-xkbcommon \ -no-pch \ --xkb-config-root /usr/share/X11/xkb \ -no-use-gold-linker \ -release \ -no-compile-examples \ @@ -51,8 +54,8 @@ cd /qt/qt-everywhere-src-${QTVERSION} && \ make -j8 && \ make -j8 install && rm -Rf /qt -## Install llvm -ARG LLVM_VERSION=8.0.0 +# LLVM/Clang +ARG LLVM_VERSION=9.0.0 RUN mkdir -p /llvm && cd /llvm && \ wget http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz && \ tar xvf llvm-${LLVM_VERSION}.src.tar.xz && \ @@ -61,7 +64,7 @@ cd tools && \ wget http://llvm.org/releases/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz && \ tar xvf cfe-${LLVM_VERSION}.src.tar.xz && \ . /opt/rh/python27/enable && \ -. /opt/rh/devtoolset-6/enable && \ +. /opt/rh/devtoolset-7/enable && \ python --version && \ cd /llvm/llvm-${LLVM_VERSION}.src && mkdir -p build && cd build && \ cmake .. -DCMAKE_INSTALL_PREFIX=/opt/llvm/ \ @@ -71,9 +74,9 @@ cmake .. -DCMAKE_INSTALL_PREFIX=/opt/llvm/ \ WORKDIR /opt -## Boost +# Boost ARG BOOST_MAJOR=1 -ARG BOOST_MINOR=68 +ARG BOOST_MINOR=67 ARG BOOST_PATCH=0 ENV BOOST_VERSION=${BOOST_MAJOR}.${BOOST_MINOR}.${BOOST_PATCH} \ BOOST_VERSION_UNDERSCORE=${BOOST_MAJOR}_${BOOST_MINOR}_${BOOST_PATCH} @@ -84,21 +87,7 @@ tar -xzf boost_${BOOST_VERSION_UNDERSCORE}.tar.gz && cd boost_${BOOST_VERSION_UN ./b2 install cxxstd=14 --link=static --variant=release --threading=multi --runtime-link=static --cxxflags="-std=c++14 -fPIC" && \ cd .. && rm boost_${BOOST_VERSION_UNDERSCORE}.tar.gz && rm boost_${BOOST_VERSION_UNDERSCORE} -r -## Ninja -RUN git clone https://github.com/martine/ninja.git && \ -cd ninja && \ -git checkout release && \ -./configure.py --bootstrap && \ -mv ninja /usr/bin/ && \ -cd .. && rm -rf ninja - #add user RUN useradd -u 1000 builder - -# Make sure the above SCLs are already enabled -ENTRYPOINT ["/usr/bin/scl", "enable", "python27", "devtoolset-6", "--"] -CMD ["/usr/bin/scl", "enable", "python27", "devtoolset-6", "--", "/bin/bash"] - WORKDIR /home/builder USER builder - diff --git a/deployment/dockerfiles/linux/centos6_64/README.md b/deployment/dockerfiles/linux/centos7_64/README.md similarity index 100% rename from deployment/dockerfiles/linux/centos6_64/README.md rename to deployment/dockerfiles/linux/centos7_64/README.md diff --git a/deployment/dockerfiles/linux/centos7_64_base/Dockerfile b/deployment/dockerfiles/linux/centos7_64_base/Dockerfile new file mode 100755 index 00000000..dd3f2a94 --- /dev/null +++ b/deployment/dockerfiles/linux/centos7_64_base/Dockerfile @@ -0,0 +1,52 @@ +FROM centos:7 + +MAINTAINER "Andreas Stallinger" + +WORKDIR /opt + +RUN rpm --rebuilddb; yum install -y yum-plugin-ovl ca-certificates; + +RUN yum -y install centos-release-scl epel-release && \ +yum -y install make wget devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils \ + wget tar bzip2 git libtool which fuse fuse-devel libpng-devel automake \ + glibc-headers libstdc++-devel gcc-c++ freetype-devel fontconfig-devel\ + libxml2-devel libstdc++-devel libXrender libXrender-devel patch xcb-util-keysyms xcb-util-keysyms-devel \ + libxcb libxcb-devel xcb-util xcb-util-devel xcb-util-wm xcb-util-wm-devel xcb-util xcb-util-devel \ + libxkbcommon libxkbcommon-devel libXi-devel libudev-devel.x86_64 openssl-devel sqlite-devel.x86_64 \ + gperftools.x86_64 gperf.x86_64 libicu-devel.x86_64 boost-devel.x86_64 \ + libxslt-devel.x86_64 python27.x86_64 \ + xz mesa-libEGL-devel mesa-libGL-devel glib-devel \ + java-1.8.0-openjdk-devel re2c ccache ImageMagick vim lftp unzip && \ +yum clean all + +# CMake +RUN wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz && \ +tar xf cmake-3.8.2-Linux-x86_64.tar.gz && \ +cp -R cmake-3.8.2-Linux-x86_64/* /usr/local/ && cmake --version && \ +rm -rf cmake-3.8.2-Linux-x86_64 && \ +rm cmake-3.8.2-Linux-x86_64.tar.gz + +# Maven +RUN wget https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz && \ +tar xzf apache-maven-3.5.0-bin.tar.gz && \ +ln -s apache-maven-3.5.0 maven && \ +rm apache-maven-3.5.0-bin.tar.gz + +# Ninja +RUN git clone https://github.com/martine/ninja.git && \ +cd ninja && \ +git checkout release && \ +./configure.py --bootstrap && \ +mv ninja /usr/local/bin/ && \ +cd .. && rm -rf ninja + +ENV M2_HOME=/opt/maven \ +JAVA_HOME=/usr/lib/jvm/java-openjdk \ +DEVTOOLSET=/opt/rh/devtoolset-7/root/usr/ +ENV PATH=${M2_HOME}/bin:${PATH} + +RUN make --version +RUN cmake --version +RUN mvn --version +RUN ninja --version + diff --git a/deployment/dockerfiles/linux/centos6_64_base/README.md b/deployment/dockerfiles/linux/centos7_64_base/README.md similarity index 100% rename from deployment/dockerfiles/linux/centos6_64_base/README.md rename to deployment/dockerfiles/linux/centos7_64_base/README.md diff --git a/script/buildonly.sh b/script/buildonly.sh index 0be11df7..7771edc7 100755 --- a/script/buildonly.sh +++ b/script/buildonly.sh @@ -13,12 +13,12 @@ then mkdir -p build/Debug cd build/Debug - cmake -G Ninja -DCMAKE_BUILD_TYPE="Debug" ../.. + cmake -G Ninja -DCMAKE_BUILD_TYPE="Debug" -DBUILD_CXX_LANGUAGE_PACKAGE=ON -DBUILD_JAVA_LANGUAGE_PACKAGE=ON -DBUILD_PYTHON_LANGUAGE_PACKAGE=ON -DDOCKER_BUILD=ON ../.. cd ../.. mkdir -p build/Release cd build/Release - cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" ../.. + cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DBUILD_CXX_LANGUAGE_PACKAGE=ON -DBUILD_JAVA_LANGUAGE_PACKAGE=ON -DBUILD_PYTHON_LANGUAGE_PACKAGE=ON -DDOCKER_BUILD=ON ../.. cd ../.. if [ $? -ne 0 ]