Browse Source

[ci fw-only C++/wt] wt: remove TE docker dependencies (#3546)

Michael Hixson 7 years ago
parent
commit
89976077cb

+ 0 - 55
frameworks/C++/wt/wt-base.dockerfile

@@ -1,55 +0,0 @@
-FROM techempower/gcc-6:0.1
-
-ENV WT_VERSION=4.0.2
-ENV BOOST_ROOT=${IROOT}/boost
-ENV BOOST_INC=${BOOST_ROOT}/include
-ENV BOOST_LIB=${BOOST_ROOT}/lib
-ENV WT_ROOT=${IROOT}/wt
-ENV WT_LIB=${WT_ROOT}/lib
-ENV WT_INC=${WT_ROOT}/include
-ENV LD_LIBRARY_PATH="${BOOST_LIB}:${WT_LIB}:${LD_LIBRARY_PATH}"
-ENV CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.3/server:$CPLUS_INCLUDE_PATH
-
-# Install CMake 3.x
-RUN apt-add-repository --yes ppa:george-edison55/cmake-3.x
-RUN apt-get update -qq
-RUN apt-get install -qqy cmake
-
-# Build boost_thread, boost_system, boost_filesystem and boost_program_options
-RUN wget -q https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz
-RUN tar xf boost_1_65_1.tar.gz
-RUN cd boost_1_65_1 && \
-    ./bootstrap.sh && \
-    ./b2 \
-      -d0 \
-      toolset=gcc-6 \
-      variant=release \
-      link=static \
-      cxxflags="-std=c++14 -march=native" \
-      cflags="-march=native" \
-      --prefix=${BOOST_ROOT} \
-      --with-system \
-      --with-thread \
-      --with-program_options \
-      --with-filesystem \
-      install
-
-RUN wget -q https://github.com/emweb/wt/archive/$WT_VERSION.tar.gz
-RUN mv $WT_VERSION.tar.gz wt-$WT_VERSION.tar.gz
-RUN tar xf wt-$WT_VERSION.tar.gz
-
-RUN cd wt-$WT_VERSION && \
-    mkdir -p build && \
-    cd build && \
-    cmake .. -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release \
-      -DBOOST_PREFIX=${BOOST_ROOT} \
-      -DCMAKE_INSTALL_PREFIX=${IROOT}/wt -DCONFIGDIR=${IROOT}/wt/etc \
-      -DCMAKE_C_COMPILER=$(which gcc-6) \
-      -DCMAKE_CXX_COMPILER=$(which g++-6) -DDESTDIR=${IROOT}/wt \
-      -DWEBUSER=$(id -u -n) -DWEBGROUP=$(id -g -n) \
-      -DENABLE_SSL=OFF -DHTTP_WITH_ZLIB=OFF \
-      -DCMAKE_C_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
-      -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
-      -DBUILD_TESTS=OFF -DENABLE_LIBWTTEST=OFF \
-      -DSHARED_LIBS=OFF && \
-    make && make install

+ 85 - 3
frameworks/C++/wt/wt-postgres.dockerfile

@@ -1,6 +1,88 @@
-FROM techempower/wt-base:0.1
+FROM ubuntu:16.04
 
-COPY ./ ./
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y
+RUN apt-get -yq update
+RUN apt-get install -qqy gcc-6 g++-6
+
+RUN apt-add-repository --yes ppa:george-edison55/cmake-3.x
+RUN apt-get update -qq
+RUN apt-get install -qqy cmake
+
+ENV WT_VERSION 4.0.2
+ENV BOOST_ROOT /boost
+ENV BOOST_INC ${BOOST_ROOT}/include
+ENV BOOST_LIB ${BOOST_ROOT}/lib
+ENV WT_ROOT /wt
+ENV WT_LIB ${WT_ROOT}/lib
+ENV WT_INC ${WT_ROOT}/include
+ENV LD_LIBRARY_PATH ${BOOST_LIB}:${WT_LIB}:${LD_LIBRARY_PATH}
+ENV CPLUS_INCLUDE_PATH /usr/include/postgresql:/usr/include/postgresql/9.3/server:${CPLUS_INCLUDE_PATH}
+
+WORKDIR ${WT_ROOT}
+COPY benchmark.cpp benchmark.cpp
+COPY fortunes.xml fortunes.xml
+COPY wt_config.xml wt_config.xml
+
+# Build boost_thread, boost_system, boost_filesystem and boost_program_options
+RUN wget -q https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz
+RUN tar xf boost_1_65_1.tar.gz
+RUN cd boost_1_65_1 && \
+    ./bootstrap.sh && \
+    ./b2 \
+      -d0 \
+      toolset=gcc-6 \
+      variant=release \
+      link=static \
+      cxxflags="-std=c++14 -march=native" \
+      cflags="-march=native" \
+      --prefix=${BOOST_ROOT} \
+      --with-system \
+      --with-thread \
+      --with-program_options \
+      --with-filesystem \
+      install
+
+RUN wget -q https://github.com/emweb/wt/archive/${WT_VERSION}.tar.gz
+RUN mv ${WT_VERSION}.tar.gz wt-${WT_VERSION}.tar.gz
+RUN tar xf wt-${WT_VERSION}.tar.gz
+
+RUN cd wt-$WT_VERSION && \
+    mkdir -p build && \
+    cd build && \
+    cmake .. -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release \
+      -DBOOST_PREFIX=${BOOST_ROOT} \
+      -DCMAKE_INSTALL_PREFIX=${WT_ROOT} -DCONFIGDIR=${WT_ROOT}/etc \
+      -DCMAKE_C_COMPILER=$(which gcc-6) \
+      -DCMAKE_CXX_COMPILER=$(which g++-6) -DDESTDIR=${WT_ROOT} \
+      -DWEBUSER=$(id -u -n) -DWEBGROUP=$(id -g -n) \
+      -DENABLE_SSL=OFF -DHTTP_WITH_ZLIB=OFF \
+      -DCMAKE_C_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
+      -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
+      -DBUILD_TESTS=OFF -DENABLE_LIBWTTEST=OFF \
+      -DSHARED_LIBS=OFF >/dev/null && \
+    make && make install
 
 RUN g++-6 \
   -std=c++14 \
@@ -21,6 +103,6 @@ RUN g++-6 \
   -lpthread \
   -lpq
 
-ENV DBHOST=tfb-database
+ENV DBHOST tfb-database
 
 CMD ./te-benchmark-pg.wt -c wt_config.xml -t $(nproc) --docroot . --approot . --http-listen 0.0.0.0:8080 --accesslog=- --no-compression

+ 85 - 3
frameworks/C++/wt/wt.dockerfile

@@ -1,6 +1,88 @@
-FROM techempower/wt-base:0.1
+FROM ubuntu:16.04
 
-COPY ./ ./
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y
+RUN apt-get -yq update
+RUN apt-get install -qqy gcc-6 g++-6
+
+RUN apt-add-repository --yes ppa:george-edison55/cmake-3.x
+RUN apt-get update -qq
+RUN apt-get install -qqy cmake
+
+ENV WT_VERSION 4.0.2
+ENV BOOST_ROOT /boost
+ENV BOOST_INC ${BOOST_ROOT}/include
+ENV BOOST_LIB ${BOOST_ROOT}/lib
+ENV WT_ROOT /wt
+ENV WT_LIB ${WT_ROOT}/lib
+ENV WT_INC ${WT_ROOT}/include
+ENV LD_LIBRARY_PATH ${BOOST_LIB}:${WT_LIB}:${LD_LIBRARY_PATH}
+ENV CPLUS_INCLUDE_PATH /usr/include/postgresql:/usr/include/postgresql/9.3/server:${CPLUS_INCLUDE_PATH}
+
+WORKDIR ${WT_ROOT}
+COPY benchmark.cpp benchmark.cpp
+COPY fortunes.xml fortunes.xml
+COPY wt_config.xml wt_config.xml
+
+# Build boost_thread, boost_system, boost_filesystem and boost_program_options
+RUN wget -q https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz
+RUN tar xf boost_1_65_1.tar.gz
+RUN cd boost_1_65_1 && \
+    ./bootstrap.sh && \
+    ./b2 \
+      -d0 \
+      toolset=gcc-6 \
+      variant=release \
+      link=static \
+      cxxflags="-std=c++14 -march=native" \
+      cflags="-march=native" \
+      --prefix=${BOOST_ROOT} \
+      --with-system \
+      --with-thread \
+      --with-program_options \
+      --with-filesystem \
+      install
+
+RUN wget -q https://github.com/emweb/wt/archive/${WT_VERSION}.tar.gz
+RUN mv ${WT_VERSION}.tar.gz wt-${WT_VERSION}.tar.gz
+RUN tar xf wt-${WT_VERSION}.tar.gz
+
+RUN cd wt-$WT_VERSION && \
+    mkdir -p build && \
+    cd build && \
+    cmake .. -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release \
+      -DBOOST_PREFIX=${BOOST_ROOT} \
+      -DCMAKE_INSTALL_PREFIX=${WT_ROOT} -DCONFIGDIR=${WT_ROOT}/etc \
+      -DCMAKE_C_COMPILER=$(which gcc-6) \
+      -DCMAKE_CXX_COMPILER=$(which g++-6) -DDESTDIR=${WT_ROOT} \
+      -DWEBUSER=$(id -u -n) -DWEBGROUP=$(id -g -n) \
+      -DENABLE_SSL=OFF -DHTTP_WITH_ZLIB=OFF \
+      -DCMAKE_C_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
+      -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
+      -DBUILD_TESTS=OFF -DENABLE_LIBWTTEST=OFF \
+      -DSHARED_LIBS=OFF >/dev/null && \
+    make && make install
 
 RUN g++-6 \
   -std=c++14 \
@@ -20,6 +102,6 @@ RUN g++-6 \
   -lpthread \
   -lmysqlclient
 
-ENV DBHOST=tfb-database
+ENV DBHOST tfb-database
 
 CMD ./te-benchmark.wt -c wt_config.xml -t $(nproc) --docroot . --approot . --http-listen 0.0.0.0:8080 --accesslog=- --no-compression