@@ -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="31.0 "
24+ ENV PROTOBUF_VERSION="6. 31.1 "
2525ENV NUMPY_MIN_VERSION="1.26.0"
2626ENV VIRTUAL_ENV=/opt/venv
2727
@@ -78,11 +78,12 @@ ENV ABSEIL_VERSION="20250512.1" \
7878 AWS_SDK_VERSION="1.11.336" \
7979 CMAKE_VERSION="v3.28.5" \
8080 FAISS_VERSION="v1.9.0" \
81- GRPC_VERSION="v1.73.0 " \
82- GTEST_VERSION="v1.12.0 " \
81+ GRPC_VERSION="v1.75.1 " \
82+ GTEST_VERSION="52eb8108c5bdec04579160ae17225d66034bd723 " \
8383 LIBEDIT_VERSION="20230828-3.1" \
8484 OPENCV_VERSION="4.9.0" \
8585 PEG_VERSION="0.1.19" \
86+ PROTOBUF_VERSION_COMMIT="74211c0dfc2777318ab53c2cd2c317a2ef9012de" \
8687 TILEDB_VERSION="2.14.1" \
8788 VALIJSON_VERSION="v0.6"
8889
@@ -94,8 +95,9 @@ RUN git clone --branch ${CMAKE_VERSION} https://github.com/Kitware/CMake.git /de
9495
9596# PROTOBUF & ITS DEPENDENCIES (GOOGLETEST, ABSEIL-CPP)
9697# hadolint ignore=DL3003,SC2086
97- RUN git clone -b ${GTEST_VERSION} https://github.com/google/googletest.git /dependencies/googletest && \
98- cd /dependencies/googletest && mkdir build && cd build && \
98+ RUN git clone https://github.com/google/googletest.git /dependencies/googletest && \
99+ cd /dependencies/googletest && git checkout ${GTEST_VERSION} && \
100+ mkdir build && cd build && \
99101 cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \
100102 -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
101103 -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \
@@ -107,25 +109,33 @@ RUN git clone -b ${GTEST_VERSION} https://github.com/google/googletest.git /depe
107109 -DABSL_USE_EXTERNAL_GOOGLETEST=ON \
108110 -DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 .. && \
109111 make ${BUILD_THREADS} && make install && ldconfig /opt/dist/usr/local/lib && \
110- git clone -b "v${PROTOBUF_VERSION}" - -recurse-submodules https://github.com/protocolbuffers/protobuf.git /dependencies/protobuf && \
111- cd /dependencies/protobuf && \
112+ git clone --recurse-submodules https://github.com/protocolbuffers/protobuf.git /dependencies/protobuf && \
113+ cd /dependencies/protobuf && git checkout ${PROTOBUF_VERSION_COMMIT} && \
112114 cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
113115 -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \
114116 -Dprotobuf_ABSL_PROVIDER=package \
117+ -Dprotobuf_GTEST_PROVIDER=package \
115118 -Dprotobuf_BUILD_TESTS=ON \
116119 -Dabsl_DIR=/opt/dist/usr/local/lib/cmake/absl . && \
117120 make ${BUILD_THREADS} && make install
118121
122+ # AUTOCONF VERSION FOR NEO4J
123+ # hadolint ignore=DL3003,SC2086
124+ RUN curl -L -O http://ftpmirror.gnu.org/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz && \
125+ tar -xzf autoconf-${AUTOCONF_VERSION}.tar.gz && cd autoconf-${AUTOCONF_VERSION} && \
126+ ./configure && make ${BUILD_THREADS} && make install DESTDIR=/opt/dist && make install
127+
119128# gRPC
120- RUN git clone -b ${GRPC_VERSION} https://github.com/grpc/grpc /dependencies/grpc && \
129+ RUN ldconfig && git clone -b ${GRPC_VERSION} --depth 1 --recursive https://github.com/grpc/grpc /dependencies/grpc && \
121130 cd /dependencies/grpc && \
122- git submodule update --init && mkdir -p cmake/build && cd cmake/build && \
131+ mkdir -p cmake/build && cd cmake/build && \
123132 cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \
124- -DCMAKE_CXX_STANDARD=17 -DgRPC_INSTALL=ON \
133+ -DCMAKE_CXX_STANDARD=17 -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF \
125134 -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \
126135 -DgRPC_ABSL_PROVIDER=package \
127- -DgRPC_PROTOBUF_PROVIDER=package ../.. && \
128- make ${BUILD_THREADS} && make install
136+ -DgRPC_PROTOBUF_PROVIDER=package \
137+ ../.. && \
138+ cmake --build . -- -j && cmake --install .
129139
130140# OPENCV
131141# hadolint ignore=DL3003,SC2086
@@ -164,12 +174,6 @@ RUN curl -L -O https://github.com/TileDB-Inc/TileDB/archive/refs/tags/${TILEDB_V
164174 -DBUILD_ONLY="s3" -DCUSTOM_MEMORY_MANAGEMENT=OFF -DENABLE_TESTING=OFF && \
165175 make ${BUILD_THREADS} && make install DESTDIR=/opt/dist && make install
166176
167- # AUTOCONF VERSION FOR NEO4J
168- # hadolint ignore=DL3003,SC2086
169- RUN curl -O https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.xz && \
170- tar -xf autoconf-${AUTOCONF_VERSION}.tar.xz && cd autoconf-${AUTOCONF_VERSION} && \
171- ./configure && make ${BUILD_THREADS} && make install DESTDIR=/opt/dist && make install
172-
173177# LIB-OMNI FOR NEO4J QUERY HANDLER
174178# hadolint ignore=DL3003,SC2086
175179RUN curl -L -O https://github.com/gpakosz/peg/releases/download/${PEG_VERSION}/peg-${PEG_VERSION}.tar.gz && \
@@ -248,7 +252,7 @@ RUN apt-get update -y && apt-get upgrade -y && \
248252 apt-get --purge remove -y python3.11 && apt-get autoremove -y && \
249253 apt-get clean && rm -rf /var/lib/apt/lists/* && \
250254 echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig && \
251- python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==6. ${PROTOBUF_VERSION}" \
255+ python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==${PROTOBUF_VERSION}" \
252256 "coverage>=7.3.1" "cryptography>=44.0.1"
253257
254258WORKDIR /vdms
0 commit comments