diff --git a/.github/coverage/cpp.develop.coverage_report.txt b/.github/coverage/cpp.develop.coverage_report.txt index 9dae6e5c..b83a0898 100644 --- a/.github/coverage/cpp.develop.coverage_report.txt +++ b/.github/coverage/cpp.develop.coverage_report.txt @@ -57,12 +57,12 @@ src/VDMSConfig.cc 230 215 93% 110-111,139-14 src/VideoCommand.cc 469 125 26% 51,54-55,57-59,61,63,66-67,69-70,73,75-77,79-81,83,85-88,90-91,93-94,96,98-100,103,110,112,117,122-125,131,133,159-160,166-167,169,180,183,200,212,216-219,226-228,230-232,238,240-246,248-249,252-254,256-258,260-261,263,265-277,279-281,283-284,295,299,324,328,330,332,334,336,339-340,342,345,349,351,356-357,379-380,382-383,386-391,393,395,397-398,404,406,435,448-453,455-462,466-472,474,479-484,487,489-490,493-495,503,508,526-529,532-536,552,555,557-559,562-564,566-567,569-573,576-577,580-582,584,586-588,591-594,598-603,608-609,611-612,614-618,621-623,625,627-629,631-634,637-638,641,643,648,661,663-670,674,677,680,685-686,688-692,695-696,698,700,702,705,709,711,713-716,718-720,723,725,727,729-730,732-733,737,742,745-746,748-750,752,754,756-758,760-761,764-766,770-773,777-781,785-789,793,796,798,800,802,804-808,812-816,819-820,822-825,828-831,836-837,841-846,850-851,854-855 src/VideoLoop.cc 250 217 86% 33,81,98-101,103-109,180,188,197,201,207,211,217,220,290,312,315,320-321,324-325,327,334-335,354,370 utils/src/comm/ConnClient.cc 69 57 82% 49,55,59-60,98,103,108,114,120,127,130,149 -utils/src/comm/Connection.cc 82 62 75% 48-53,75,77-79,84,86,97,111,135,140,153,157,159,168 +utils/src/comm/Connection.cc 82 61 74% 48-53,75,77-79,84,86,97,111,135,140,153,157,159,168,172 utils/src/comm/ConnServer.cc 61 49 80% 60,64,68,75,84,91,103,108,128,135,140,145 utils/src/comm/Exception.cc 6 0 0% 35-40 utils/src/kubernetes/KubeHelper.cc 183 37 20% 23-30,32-35,37-49,51-54,56-65,68-79,81-90,96-99,101,103-105,107-110,112-118,120-125,127-143,146-154,156,158-161,163-165,167,177,183,198,204,206-218,231-238 utils/src/stats/SystemStats.cc 250 249 99% 455 utils/src/timers/TimerMap.cc 82 74 90% 126,151,153,155-158,162 ------------------------------------------------------------------------------ -TOTAL 12491 8508 68% +TOTAL 12491 8507 68% ------------------------------------------------------------------------------ diff --git a/.github/coverage/cpp.develop.coverage_value.txt b/.github/coverage/cpp.develop.coverage_value.txt index 38ad8247..4e4d202b 100644 --- a/.github/coverage/cpp.develop.coverage_value.txt +++ b/.github/coverage/cpp.develop.coverage_value.txt @@ -1 +1 @@ -68.113 +68.105 diff --git a/.github/requirements.txt b/.github/requirements.txt index f490edbc..0053f843 100644 --- a/.github/requirements.txt +++ b/.github/requirements.txt @@ -14,7 +14,7 @@ MarkupSafe==3.0.2 numpy==1.26.4 opencv-python-headless==4.11.0.86 pillow==11.1.0 -protobuf==4.25.8 +protobuf==5.29.5 pycparser==2.22 Pygments==2.19.1 pyzmq==26.4.0 diff --git a/.github/scripts/Dockerfile.checkin b/.github/scripts/Dockerfile.checkin index dc41e9d5..eb06faf5 100644 --- a/.github/scripts/Dockerfile.checkin +++ b/.github/scripts/Dockerfile.checkin @@ -21,7 +21,7 @@ ENV DEBIAN_FRONTEND=noninteractive ENV DEBCONF_NOWARNINGS="yes" ENV PYTHON_BASE="3.12" ENV PYTHON_VERSION="${PYTHON_BASE}.3" -ENV PROTOBUF_VERSION="25.8" +ENV PROTOBUF_VERSION="29.5" ENV NUMPY_MIN_VERSION="1.26.0" ENV VIRTUAL_ENV=/opt/venv @@ -77,6 +77,7 @@ ENV AUTOCONF_VERSION="2.71" \ AWS_SDK_VERSION="1.11.336" \ CMAKE_VERSION="v3.28.5" \ FAISS_VERSION="v1.9.0" \ + GOOGLETEST_VERSION="4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774" \ LIBEDIT_VERSION="20230828-3.1" \ OPENCV_VERSION="4.9.0" \ PEG_VERSION="0.1.19" \ @@ -89,27 +90,25 @@ RUN git clone --branch ${CMAKE_VERSION} https://github.com/Kitware/CMake.git /de cd /dependencies/CMake && ./bootstrap && make ${BUILD_THREADS} && \ make install DESTDIR=/opt/dist && make install +# GOOGLETEST +# hadolint ignore=DL3003,SC2086 +RUN git clone https://github.com/google/googletest.git /dependencies/googletest && \ + cd /dependencies/googletest && git checkout "${GOOGLETEST_VERSION}" && \ + mkdir build && cd build/ && \ + cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ + -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \ + make ${BUILD_THREADS} && make install + # PROTOBUF & ITS DEPENDENCIES # hadolint ignore=DL3003,SC2086 RUN git clone -b "v${PROTOBUF_VERSION}" --recurse-submodules https://github.com/protocolbuffers/protobuf.git /dependencies/protobuf && \ - cd /dependencies/protobuf/third_party/googletest && mkdir build && cd build/ && \ - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ - -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \ - make ${BUILD_THREADS} && make install && \ - cd /dependencies/protobuf/third_party/abseil-cpp && mkdir build && cd build && \ - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local -DABSL_BUILD_TESTING=ON \ - -DABSL_USE_EXTERNAL_GOOGLETEST=ON \ - -DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 .. && \ - make ${BUILD_THREADS} && make install && ldconfig /opt/dist/usr/local/lib && \ cd /dependencies/protobuf && \ - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ - -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_TESTS=ON \ - -Dabsl_DIR=/opt/dist/usr/local/lib/cmake/absl . && \ - make ${BUILD_THREADS} && make install + cmake -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ + -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \ + -Dprotobuf_BUILD_TESTS=ON . && \ + make ${BUILD_THREADS} && make install # OPENCV # hadolint ignore=DL3003,SC2086 @@ -150,8 +149,8 @@ RUN curl -L -O https://github.com/TileDB-Inc/TileDB/archive/refs/tags/${TILEDB_V # AUTOCONF VERSION FOR NEO4J # hadolint ignore=DL3003,SC2086 -RUN curl -O https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.xz && \ - tar -xf autoconf-${AUTOCONF_VERSION}.tar.xz && cd autoconf-${AUTOCONF_VERSION} && \ +RUN curl -L -O http://ftpmirror.gnu.org/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz && \ + tar -xzf autoconf-${AUTOCONF_VERSION}.tar.gz && cd autoconf-${AUTOCONF_VERSION} && \ ./configure && make ${BUILD_THREADS} && make install DESTDIR=/opt/dist && make install # LIB-OMNI FOR NEO4J QUERY HANDLER @@ -253,7 +252,7 @@ RUN apt-get update -y && apt-get upgrade -y && \ apt-get --purge remove -y python3.11 && apt-get autoremove -y && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig && \ - python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==4.${PROTOBUF_VERSION}" \ + python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==5.${PROTOBUF_VERSION}" \ "coverage>=7.3.1" "cryptography>=44.0.1" # COVERAGE TESTING diff --git a/.github/scripts/setup_vdms.sh b/.github/scripts/setup_vdms.sh index a63e5a1d..215890c3 100755 --- a/.github/scripts/setup_vdms.sh +++ b/.github/scripts/setup_vdms.sh @@ -176,7 +176,7 @@ export PATH="$VIRTUAL_ENV/bin:$PATH" if [ "${BUILD_COVERAGE}" = "ON" ]; then apt-get install -y --no-install-suggests --no-install-recommends gdb - python -m pip install --no-cache-dir "gcovr>=7.0" + python -m pip install --no-cache-dir "gcovr==8.4" curl -L -o ${WORKSPACE}/minio https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x ${WORKSPACE}/minio mkdir -p ${WORKSPACE}/minio_files/minio-bucket @@ -194,11 +194,12 @@ AUTOCONF_VERSION="2.71" AWS_SDK_VERSION="1.11.336" CMAKE_VERSION="v3.28.5" FAISS_VERSION="v1.9.0" +GOOGLETEST_VERSION="4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774" LIBEDIT_VERSION="20230828-3.1" NUMPY_MIN_VERSION="1.26.0" OPENCV_VERSION="4.9.0" PEG_VERSION="0.1.19" -PROTOBUF_VERSION="25.8" +PROTOBUF_VERSION="29.5" TILEDB_VERSION="2.14.1" VALIJSON_VERSION="v0.6" @@ -213,9 +214,10 @@ make ${BUILD_THREADS} make install -# INSTALL PROTOBUF & ITS DEPENDENCIES -git clone -b "v${PROTOBUF_VERSION}" --recurse-submodules https://github.com/protocolbuffers/protobuf.git $VDMS_DEP_DIR/protobuf -cd $VDMS_DEP_DIR/protobuf/third_party/googletest +# GOOGLETEST +git clone https://github.com/google/googletest.git $VDMS_DEP_DIR/googletest +cd $VDMS_DEP_DIR/googletest +git checkout "${GOOGLETEST_VERSION}" mkdir build && cd build/ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ @@ -223,22 +225,14 @@ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ make ${BUILD_THREADS} make install -cd $VDMS_DEP_DIR/protobuf/third_party/abseil-cpp -mkdir build && cd build -cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_INSTALL_PREFIX=/usr/local -DABSL_BUILD_TESTING=ON \ - -DABSL_USE_EXTERNAL_GOOGLETEST=ON \ - -DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 .. -make ${BUILD_THREADS} -make install -ldconfig /usr/local/lib +# INSTALL PROTOBUF & ITS DEPENDENCIES +git clone -b "v${PROTOBUF_VERSION}" --recurse-submodules https://github.com/protocolbuffers/protobuf.git $VDMS_DEP_DIR/protobuf cd $VDMS_DEP_DIR/protobuf -cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ +cmake -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_TESTS=ON \ - -Dabsl_DIR=/usr/local/lib/cmake/absl . + -Dprotobuf_BUILD_TESTS=ON . make ${BUILD_THREADS} make install @@ -255,7 +249,7 @@ make install # INSTALL PYTHON PACKAGES python -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "coverage>=7.3.1" \ - "protobuf==4.${PROTOBUF_VERSION}" "cryptography>=44.0.1" + "protobuf==5.${PROTOBUF_VERSION}" "cryptography>=44.0.1" # INSTALL VALIJSON diff --git a/client/python/setup.py b/client/python/setup.py index c5c90072..2626ec69 100644 --- a/client/python/setup.py +++ b/client/python/setup.py @@ -5,11 +5,11 @@ setuptools.setup( name="vdms", - version="0.0.21", + version="0.0.22", author="Chaunté W. Lacewell", author_email="chaunte.w.lacewell@intel.com", description="VDMS Client Module", - install_requires=["protobuf==4.25.8"], + install_requires=["protobuf==5.29.5"], long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/IntelLabs/vdms", diff --git a/client/python/vdms/queryMessage_pb2.py b/client/python/vdms/queryMessage_pb2.py index 4bd962f5..71c643b4 100644 --- a/client/python/vdms/queryMessage_pb2.py +++ b/client/python/vdms/queryMessage_pb2.py @@ -1,11 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: queryMessage.proto +# Protobuf Python Version: 5.29.5 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 5, + '', + 'queryMessage.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,8 +29,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'queryMessage_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - DESCRIPTOR._options = None +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None _globals['_QUERYMESSAGE']._serialized_start=38 _globals['_QUERYMESSAGE']._serialized_end=81 # @@protoc_insertion_point(module_scope) diff --git a/docker/base/Dockerfile b/docker/base/Dockerfile index 34bcce00..dda527b1 100644 --- a/docker/base/Dockerfile +++ b/docker/base/Dockerfile @@ -21,7 +21,7 @@ ENV DEBIAN_FRONTEND=noninteractive ENV DEBCONF_NOWARNINGS="yes" ENV PYTHON_BASE="3.12" ENV PYTHON_VERSION="${PYTHON_BASE}.3" -ENV PROTOBUF_VERSION="25.8" +ENV PROTOBUF_VERSION="29.5" ENV NUMPY_MIN_VERSION="1.26.0" ENV VIRTUAL_ENV=/opt/venv @@ -77,6 +77,7 @@ ENV AUTOCONF_VERSION="2.71" \ AWS_SDK_VERSION="1.11.336" \ CMAKE_VERSION="v3.28.5" \ FAISS_VERSION="v1.9.0" \ + GOOGLETEST_VERSION="4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774" \ LIBEDIT_VERSION="20230828-3.1" \ OPENCV_VERSION="4.9.0" \ PEG_VERSION="0.1.19" \ @@ -89,27 +90,25 @@ RUN git clone --branch ${CMAKE_VERSION} https://github.com/Kitware/CMake.git /de cd /dependencies/CMake && ./bootstrap && make ${BUILD_THREADS} && \ make install DESTDIR=/opt/dist && make install +# GOOGLETEST +# hadolint ignore=DL3003,SC2086 +RUN git clone https://github.com/google/googletest.git /dependencies/googletest && \ + cd /dependencies/googletest && git checkout "${GOOGLETEST_VERSION}" && \ + mkdir build && cd build/ && \ + cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ + -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \ + make ${BUILD_THREADS} && make install + # PROTOBUF & ITS DEPENDENCIES # hadolint ignore=DL3003,SC2086 RUN git clone -b "v${PROTOBUF_VERSION}" --recurse-submodules https://github.com/protocolbuffers/protobuf.git /dependencies/protobuf && \ - cd /dependencies/protobuf/third_party/googletest && mkdir build && cd build/ && \ - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ - -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. && \ - make ${BUILD_THREADS} && make install && \ - cd /dependencies/protobuf/third_party/abseil-cpp && mkdir build && cd build && \ - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local -DABSL_BUILD_TESTING=ON \ - -DABSL_USE_EXTERNAL_GOOGLETEST=ON \ - -DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 .. && \ - make ${BUILD_THREADS} && make install && ldconfig /opt/dist/usr/local/lib && \ cd /dependencies/protobuf && \ - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ - -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_TESTS=ON \ - -Dabsl_DIR=/opt/dist/usr/local/lib/cmake/absl . && \ - make ${BUILD_THREADS} && make install + cmake -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/opt/dist/usr/local \ + -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \ + -Dprotobuf_BUILD_TESTS=ON . && \ + make ${BUILD_THREADS} && make install # OPENCV # hadolint ignore=DL3003,SC2086 @@ -150,8 +149,8 @@ RUN curl -L -O https://github.com/TileDB-Inc/TileDB/archive/refs/tags/${TILEDB_V # AUTOCONF VERSION FOR NEO4J # hadolint ignore=DL3003,SC2086 -RUN curl -O https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.xz && \ - tar -xf autoconf-${AUTOCONF_VERSION}.tar.xz && cd autoconf-${AUTOCONF_VERSION} && \ +RUN curl -L -O http://ftpmirror.gnu.org/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz && \ + tar -xzf autoconf-${AUTOCONF_VERSION}.tar.gz && cd autoconf-${AUTOCONF_VERSION} && \ ./configure && make ${BUILD_THREADS} && make install DESTDIR=/opt/dist && make install # LIB-OMNI FOR NEO4J QUERY HANDLER @@ -227,7 +226,7 @@ RUN apt-get update -y && apt-get upgrade -y && \ apt-get --purge remove -y python3.11 && apt-get autoremove -y && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ echo "/usr/local/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig && \ - python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==4.${PROTOBUF_VERSION}" \ + python3 -m pip install --no-cache-dir "numpy>=${NUMPY_MIN_VERSION},<2.0.0" "protobuf==5.${PROTOBUF_VERSION}" \ "coverage>=7.3.1" "cryptography>=44.0.1" # VDMS diff --git a/docs/Install.md b/docs/Install.md index 995d24c8..67567b68 100644 --- a/docs/Install.md +++ b/docs/Install.md @@ -105,38 +105,34 @@ sudo make install ```
-#### **Protobuf v25.8 (4.25.8)** -Install Protobuf (C++ and Python) which requires GoogleTest and Abseil C++ as dependencies. +#### **GoogleTest** +Install GoogleTest version used in Protobuf v29.5: ```bash -PROTOBUF_VERSION="25.8" -python3 -m pip install --no-cache-dir "protobuf==4.${PROTOBUF_VERSION}" - -git clone -b v${PROTOBUF_VERSION} --recurse-submodules https://github.com/protocolbuffers/protobuf.git $VDMS_DEP_DIR/protobuf - -cd $VDMS_DEP_DIR/protobuf/third_party/googletest -mkdir build && cd build +GOOGLETEST_VERSION="4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774" +git clone https://github.com/google/googletest.git $VDMS_DEP_DIR/googletest && \ +cd $VDMS_DEP_DIR/googletest +git checkout "${GOOGLETEST_VERSION}" +mkdir build && cd build/ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ -DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 .. make ${BUILD_THREADS} sudo make install +``` +
-cd $VDMS_DEP_DIR/protobuf/third_party/abseil-cpp -mkdir build && cd build -cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_INSTALL_PREFIX=/usr/local -DABSL_BUILD_TESTING=ON \ - -DABSL_USE_EXTERNAL_GOOGLETEST=ON \ - -DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 .. -make ${BUILD_THREADS} -sudo make install -sudo ldconfig /usr/local/lib +#### **Protobuf v29.5 (5.29.5)** +Install Protobuf (C++ and Python) with its dependencies. +```bash +PROTOBUF_VERSION="29.5" +python3 -m pip install --no-cache-dir "protobuf==5.${PROTOBUF_VERSION}" +git clone -b v${PROTOBUF_VERSION} --recurse-submodules https://github.com/protocolbuffers/protobuf.git $VDMS_DEP_DIR/protobuf cd $VDMS_DEP_DIR/protobuf -cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ +cmake -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_TESTS=ON \ - -Dabsl_DIR=/usr/local/lib/cmake/absl . + -Dprotobuf_BUILD_TESTS=ON . make ${BUILD_THREADS} sudo make install ``` diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7fe767eb..f0663102 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -93,5 +93,6 @@ target_link_libraries(unit_tests ${OpenCV_LIBS} ${AWSSDK_LINK_LIBRARIES} neo4j-client + -lgtest )