@@ -21,7 +21,7 @@ ENV DEBIAN_FRONTEND=noninteractive
2121ENV DEBCONF_NOWARNINGS="yes"
2222ENV PYTHON_BASE="3.12"
2323ENV PYTHON_VERSION="${PYTHON_BASE}.3"
24- ENV PROTOBUF_VERSION="25.8 "
24+ ENV PROTOBUF_VERSION="29.5 "
2525ENV NUMPY_MIN_VERSION="1.26.0"
2626ENV VIRTUAL_ENV=/opt/venv
2727
@@ -77,6 +77,7 @@ ENV AUTOCONF_VERSION="2.71" \
7777 AWS_SDK_VERSION="1.11.336" \
7878 CMAKE_VERSION="v3.28.5" \
7979 FAISS_VERSION="v1.9.0" \
80+ GOOGLETEST_VERSION="v1.17.0" \
8081 LIBEDIT_VERSION="20230828-3.1" \
8182 OPENCV_VERSION="4.9.0" \
8283 PEG_VERSION="0.1.19" \
@@ -89,27 +90,24 @@ RUN git clone --branch ${CMAKE_VERSION} https://github.com/Kitware/CMake.git /de
8990 cd /dependencies/CMake && ./bootstrap && make ${BUILD_THREADS} && \
9091 make install DESTDIR=/opt/dist && make install
9192
93+ # GOOGLETEST
94+ # hadolint ignore=DL3003,SC2086
95+ RUN git clone -b "${GOOGLETEST_VERSION}" https://github.com/google/googletest.git /dependencies/googletest && \
96+ cd /dependencies/googletest && mkdir build && cd build/ && \
97+ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \
98+ -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
99+ -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \
100+ make ${BUILD_THREADS} && make install
101+
92102# PROTOBUF & ITS DEPENDENCIES
93103# hadolint ignore=DL3003,SC2086
94104RUN git clone -b "v${PROTOBUF_VERSION}" --recurse-submodules https://github.com/protocolbuffers/protobuf.git /dependencies/protobuf && \
95- cd /dependencies/protobuf/third_party/googletest && mkdir build && cd build/ && \
96- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \
97- -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
98- -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \
99- make ${BUILD_THREADS} && make install && \
100- cd /dependencies/protobuf/third_party/abseil-cpp && mkdir build && cd build && \
101- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \
102- -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local -DABSL_BUILD_TESTING=ON \
103- -DABSL_USE_EXTERNAL_GOOGLETEST=ON \
104- -DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 .. && \
105- make ${BUILD_THREADS} && make install && ldconfig /opt/dist/usr/local/lib && \
106105 cd /dependencies/protobuf && \
107- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
108- -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \
109- -Dprotobuf_ABSL_PROVIDER=package \
110- -Dprotobuf_BUILD_TESTS=ON \
111- -Dabsl_DIR=/opt/dist/usr/local/lib/cmake/absl . && \
112- make ${BUILD_THREADS} && make install
106+ cmake -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON \
107+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
108+ -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \
109+ -Dprotobuf_BUILD_TESTS=ON . && \
110+ make ${BUILD_THREADS} && make install
113111
114112# OPENCV
115113# hadolint ignore=DL3003,SC2086
@@ -253,7 +251,7 @@ RUN apt-get update -y && apt-get upgrade -y && \
253251 apt-get --purge remove -y python3.11 && apt-get autoremove -y && \
254252 apt-get clean && rm -rf /var/lib/apt/lists/* && \
255253 echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig && \
256- python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==4 .${PROTOBUF_VERSION}" \
254+ python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==5 .${PROTOBUF_VERSION}" \
257255 "coverage>=7.3.1" "cryptography>=44.0.1"
258256
259257# COVERAGE TESTING
0 commit comments