ffead-cpp-h2o.dockerfile 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. FROM sumeetchhetri/ffead-cpp-5.0-base:5.3
  2. ENV IROOT=/installs
  3. ENV DEBIAN_FRONTEND noninteractive
  4. RUN rm -f /usr/local/lib/libffead-* /usr/local/lib/libte_benc* /usr/local/lib/libinter.so /usr/local/lib/libdinter.so && \
  5. ln -s ${IROOT}/ffead-cpp-5.0/lib/libte_benchmark_um.so /usr/local/lib/libte_benchmark_um.so && \
  6. ln -s ${IROOT}/ffead-cpp-5.0/lib/libffead-modules.so /usr/local/lib/libffead-modules.so && \
  7. ln -s ${IROOT}/ffead-cpp-5.0/lib/libffead-framework.so /usr/local/lib/libffead-framework.so && \
  8. ln -s ${IROOT}/ffead-cpp-5.0/lib/libinter.so /usr/local/lib/libinter.so && \
  9. ln -s ${IROOT}/ffead-cpp-5.0/lib/libdinter.so /usr/local/lib/libdinter.so && \
  10. ldconfig
  11. WORKDIR ${IROOT}
  12. RUN apt-get update -y && apt-get install -y --no-install-recommends autoconf bison cmake curl file flex g++ git libnuma-dev libpq-dev \
  13. libssl-dev libtool libyajl-dev libz-dev make wget && rm -rf /var/lib/apt/lists/*
  14. ARG H2O_VERSION=v2.2.6
  15. ARG H2O_BUILD_DIR=${IROOT}/h2o-build
  16. ENV H2O_PREFIX /opt/h2o
  17. RUN mkdir -p "${H2O_BUILD_DIR}/build" && \
  18. cd "$H2O_BUILD_DIR" && \
  19. wget -qO - "https://github.com/h2o/h2o/archive/${H2O_VERSION}.tar.gz" | \
  20. tar xz --strip-components=1 && \
  21. cd build && \
  22. cmake -DCMAKE_INSTALL_PREFIX="$H2O_PREFIX" -DCMAKE_C_FLAGS="-flto -march=native" \
  23. -DCMAKE_AR=/usr/bin/gcc-ar -DCMAKE_RANLIB=/usr/bin/gcc-ranlib .. && \
  24. make -j "$(nproc)" install && \
  25. cd ../.. && \
  26. rm -rf "$H2O_BUILD_DIR"
  27. WORKDIR ${IROOT}/lang-server-backends/c/h2o
  28. RUN chmod +x h2o.sh
  29. #RUN ./h2o.sh && rm -rf ${IROOT}/lang-server-backends
  30. WORKDIR /
  31. CMD ./run_ffead.sh ffead-cpp-5.0 h2o