ffead-cpp-h2o.dockerfile 1.5 KB

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