This is an automated email from the ASF dual-hosted git repository.

slfan1989 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new d361d0ddff2 HADOOP-19605. Upgrade Protobuf 3.25.5 for docker images 
(#7780)
d361d0ddff2 is described below

commit d361d0ddff216cc5ff17a453261ee59e71af6c12
Author: Cheng Pan <[email protected]>
AuthorDate: Mon Nov 10 12:20:13 2025 +0800

    HADOOP-19605. Upgrade Protobuf 3.25.5 for docker images (#7780)
    
    * HADOOP-19605. Upgrade Protobuf 3.25.5 for docker images.
    
    Reviewed-by: Steve Loughran <[email protected]>
    Signed-off-by: Shilun Fan <[email protected]>
---
 BUILDING.txt                                       | 53 +++++++++--------
 dev-support/docker/Dockerfile                      |  2 +-
 dev-support/docker/Dockerfile_aarch64              |  2 +-
 dev-support/docker/Dockerfile_debian_11            |  2 +-
 dev-support/docker/Dockerfile_rockylinux_8         |  2 +-
 dev-support/docker/Dockerfile_ubuntu_24            |  2 +-
 .../docker/pkg-resolver/install-protobuf.sh        | 19 +++---
 dev-support/docker/vcpkg/vcpkg.json                |  2 +-
 .../src/main/native/libhdfspp/CMakeLists.txt       | 68 +++++++++++++++++++++-
 .../main/native/libhdfspp/lib/proto/CMakeLists.txt |  5 +-
 .../native/libhdfspp/lib/proto/protoc_gen_hrpc.cc  |  1 -
 .../src/main/native/libhdfspp/tests/CMakeLists.txt | 30 +++++-----
 .../libhdfspp/tests/remote_block_reader_test.cc    |  5 +-
 .../main/native/libhdfspp/tests/rpc_engine_test.cc |  1 -
 14 files changed, 134 insertions(+), 60 deletions(-)

diff --git a/BUILDING.txt b/BUILDING.txt
index 13519ff624c..a006e80d565 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -7,7 +7,7 @@ Requirements:
 * JDK 1.8
 * Maven 3.3 or later
 * Boost 1.86.0 (if compiling native code)
-* Protocol Buffers 3.21.12 (if compiling native code)
+* Protocol Buffers 3.25.5 (if compiling native code)
 * CMake 3.19 or newer (if compiling native code)
 * Zlib devel (if compiling native code)
 * Cyrus SASL devel (if compiling native code)
@@ -78,13 +78,15 @@ Refer to  dev-support/docker/Dockerfile):
   $ ./bootstrap
   $ make -j$(nproc)
   $ sudo make install
-* Protocol Buffers 3.21.12 (required to build native code)
-  $ curl -L 
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > 
protobuf-3.21.12.tar.gz
-  $ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
-  $ ./autogen.sh
-  $ ./configure
-  $ make -j$(nproc)
-  $ sudo make install
+* Protocol Buffers 3.25.5 (required to build native code)
+  $ curl -L 
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.25.5.tar.gz > 
protobuf-3.25.5.tar.gz
+  $ curl -L 
https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.1.tar.gz > 
abseil-cpp-20230802.1.tar.gz
+  $ tar -zxvf protobuf-3.25.5.tar.gz
+  $ tar -zxvf abseil-cpp-20230802.1.tar.gz --strip-components 1 -C 
protobuf-3.25.5/third_party/abseil-cpp
+  $ cd protobuf-3.25.5
+  $ cmake -S . -B build -DCMAKE_POSITION_INDEPENDENT_CODE=ON 
-Dprotobuf_BUILD_TESTS=OFF
+  $ cmake --build build --parallel $(nproc)
+  $ sudo cmake --install build
 * Boost
   $ curl -L 
https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2/download
 > boost_1_86_0.tar.bz2
   $ tar --bzip2 -xf boost_1_86_0.tar.bz2 && cd boost_1_86_0
@@ -433,14 +435,15 @@ Installing required dependencies for clean install of 
macOS 10.14:
 * Install native libraries, only openssl is required to compile native code,
 you may optionally install zlib, lz4, etc.
   $ brew install openssl
-* Protocol Buffers 3.21.12 (required to compile native code)
-  $ curl -L 
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > 
protobuf-3.21.12.tar.gz
-  $ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
-  $ ./autogen.sh
-  $ ./configure
-  $ make
-  $ make check
-  $ make install
+* Protocol Buffers 3.25.5 (required to build native code)
+  $ curl -L 
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.25.5.tar.gz > 
protobuf-3.25.5.tar.gz
+  $ curl -L 
https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.1.tar.gz > 
abseil-cpp-20230802.1.tar.gz
+  $ tar -zxvf protobuf-3.25.5.tar.gz
+  $ tar -zxvf abseil-cpp-20230802.1.tar.gz --strip-components 1 -C 
protobuf-3.25.5/third_party/abseil-cpp
+  $ cd protobuf-3.25.5
+  $ cmake -S . -B build -DCMAKE_POSITION_INDEPENDENT_CODE=ON 
-Dprotobuf_BUILD_TESTS=OFF
+  $ cmake --build build --parallel $(nproc)
+  $ cmake --install build
   $ protoc --version
 
 Note that building Hadoop 3.1.1/3.1.2/3.2.0 native code from source is broken
@@ -472,13 +475,15 @@ Building on Rocky Linux 8
 * Install python2 for building documentation.
   $ sudo dnf install python2
 
-* Install Protocol Buffers v3.21.12.
-  $ curl -L 
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz > 
protobuf-3.21.12.tar.gz
-  $ tar -zxvf protobuf-3.21.12.tar.gz && cd protobuf-3.21.12
-  $ ./autogen.sh
-  $ ./configure --prefix=/usr/local
-  $ make
-  $ sudo make install
+* Protocol Buffers 3.25.5 (required to build native code)
+  $ curl -L 
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.25.5.tar.gz > 
protobuf-3.25.5.tar.gz
+  $ curl -L 
https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.1.tar.gz > 
abseil-cpp-20230802.1.tar.gz
+  $ tar -zxvf protobuf-3.25.5.tar.gz
+  $ tar -zxvf abseil-cpp-20230802.1.tar.gz --strip-components 1 -C 
protobuf-3.25.5/third_party/abseil-cpp
+  $ cd protobuf-3.25.5
+  $ cmake -S . -B build -DCMAKE_POSITION_INDEPENDENT_CODE=ON 
-Dprotobuf_BUILD_TESTS=OFF
+  $ cmake --build build --parallel $(nproc)
+  $ sudo cmake --install build --prefix /usr/local
   $ cd ..
 
 * Install libraries provided by Rocky Linux 8.
@@ -530,7 +535,7 @@ Requirements:
 * JDK 1.8
 * Maven 3.3 or later (maven.apache.org)
 * Boost 1.86.0 (boost.org)
-* Protocol Buffers 3.21.12 (https://github.com/protocolbuffers/protobuf/tags)
+* Protocol Buffers 3.25.5 (https://github.com/protocolbuffers/protobuf/tags)
 * CMake 3.19 or newer (cmake.org)
 * Visual Studio 2019 (visualstudio.com)
 * Windows SDK 8.1 (optional, if building CPU rate control for the container 
executor. Get this from
diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile
index 5c97f80b1e9..1d80b38f1b1 100644
--- a/dev-support/docker/Dockerfile
+++ b/dev-support/docker/Dockerfile
@@ -72,7 +72,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
 ENV SPOTBUGS_HOME /opt/spotbugs
 
 #######
-# Set env vars for Google Protobuf 3.21.12
+# Set env vars for Google Protobuf 3.25.5
 #######
 ENV PROTOBUF_HOME /opt/protobuf
 ENV PATH "${PATH}:/opt/protobuf/bin"
diff --git a/dev-support/docker/Dockerfile_aarch64 
b/dev-support/docker/Dockerfile_aarch64
index b341d60e139..adfb366a4c7 100644
--- a/dev-support/docker/Dockerfile_aarch64
+++ b/dev-support/docker/Dockerfile_aarch64
@@ -73,7 +73,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-arm64
 ENV SPOTBUGS_HOME /opt/spotbugs
 
 #######
-# Set env vars for Google Protobuf 3.21.12
+# Set env vars for Google Protobuf 3.25.5
 #######
 ENV PROTOBUF_HOME /opt/protobuf
 ENV PATH "${PATH}:/opt/protobuf/bin"
diff --git a/dev-support/docker/Dockerfile_debian_11 
b/dev-support/docker/Dockerfile_debian_11
index 11391953164..c4ae87426f7 100644
--- a/dev-support/docker/Dockerfile_debian_11
+++ b/dev-support/docker/Dockerfile_debian_11
@@ -65,7 +65,7 @@ ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
 ENV SPOTBUGS_HOME=/opt/spotbugs
 
 #######
-# Set env vars for Google Protobuf 3.21.12
+# Set env vars for Google Protobuf 3.25.5
 #######
 ENV PROTOBUF_HOME=/opt/protobuf
 ENV PATH="${PATH}:/opt/protobuf/bin"
diff --git a/dev-support/docker/Dockerfile_rockylinux_8 
b/dev-support/docker/Dockerfile_rockylinux_8
index cdb492ea31a..abea5105a39 100644
--- a/dev-support/docker/Dockerfile_rockylinux_8
+++ b/dev-support/docker/Dockerfile_rockylinux_8
@@ -94,7 +94,7 @@ ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0
 ENV SPOTBUGS_HOME=/opt/spotbugs
 
 #######
-# Set env vars for Google Protobuf 3.21.12
+# Set env vars for Google Protobuf 3.25.5
 #######
 ENV PROTOBUF_HOME=/opt/protobuf
 ENV PATH="${PATH}:${PROTOBUF_HOME}/bin"
diff --git a/dev-support/docker/Dockerfile_ubuntu_24 
b/dev-support/docker/Dockerfile_ubuntu_24
index 1b4689e1d73..0f23a61745d 100644
--- a/dev-support/docker/Dockerfile_ubuntu_24
+++ b/dev-support/docker/Dockerfile_ubuntu_24
@@ -72,7 +72,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk-amd64
 ENV SPOTBUGS_HOME /opt/spotbugs
 
 #######
-# Set env vars for Google Protobuf 3.21.12
+# Set env vars for Google Protobuf 3.25.5
 #######
 ENV PROTOBUF_HOME /opt/protobuf
 ENV PATH "${PATH}:/opt/protobuf/bin"
diff --git a/dev-support/docker/pkg-resolver/install-protobuf.sh 
b/dev-support/docker/pkg-resolver/install-protobuf.sh
index f8319f6acea..a512d5ee026 100644
--- a/dev-support/docker/pkg-resolver/install-protobuf.sh
+++ b/dev-support/docker/pkg-resolver/install-protobuf.sh
@@ -27,29 +27,32 @@ if [ $? -eq 1 ]; then
   exit 1
 fi
 
-default_version="3.21.12"
+default_version="3.25.5"
 version_to_install=$default_version
 if [ -n "$2" ]; then
   version_to_install="$2"
 fi
 
-if [ "$version_to_install" != "3.21.12" ]; then
+if [ "$version_to_install" != "3.25.5" ]; then
   echo "WARN: Don't know how to install version $version_to_install, 
installing the default version $default_version instead"
   version_to_install=$default_version
 fi
 
-if [ "$version_to_install" == "3.21.12" ]; then
+if [ "$version_to_install" == "3.25.5" ]; then
   # hadolint ignore=DL3003
   mkdir -p /opt/protobuf-src &&
     curl -L -s -S \
-      
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.12.tar.gz \
+      
https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.25.5.tar.gz \
       -o /opt/protobuf.tar.gz &&
     tar xzf /opt/protobuf.tar.gz --strip-components 1 -C /opt/protobuf-src &&
+    curl -L -s -S \
+      https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.1.tar.gz 
\
+      -o /opt/abseil-cpp.tar.gz &&
+    tar xzf /opt/abseil-cpp.tar.gz --strip-components 1 -C 
/opt/protobuf-src/third_party/abseil-cpp &&
     cd /opt/protobuf-src &&
-    ./autogen.sh &&
-    ./configure --prefix=/opt/protobuf &&
-    make "-j$(nproc)" &&
-    make install &&
+    cmake -S . -B build -DCMAKE_POSITION_INDEPENDENT_CODE=ON 
-Dprotobuf_BUILD_TESTS=OFF &&
+    cmake --build build --parallel $(nproc) &&
+    cmake --install build --prefix /opt/protobuf &&
     cd /root &&
     rm -rf /opt/protobuf-src
 else
diff --git a/dev-support/docker/vcpkg/vcpkg.json 
b/dev-support/docker/vcpkg/vcpkg.json
index 91c4776ce0d..335d1405a29 100644
--- a/dev-support/docker/vcpkg/vcpkg.json
+++ b/dev-support/docker/vcpkg/vcpkg.json
@@ -10,7 +10,7 @@
   "overrides": [
     {
       "name": "protobuf",
-      "version": "3.21.12"
+      "version": "3.25.5"
     }
   ]
 }
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
index c9af7915614..1dc89beff27 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt
@@ -43,9 +43,70 @@ SET(CMAKE_PREFIX_PATH 
"${CMAKE_PREFIX_PATH};${CYRUS_SASL_DIR};${GSASL_DIR};$ENV{
 # Specify PROTOBUF_HOME so that find_package picks up the correct version
 SET(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};$ENV{PROTOBUF_HOME}")
 
+if (BUILD_SHARED_LIBS AND MSVC)
+  # On MSVC Abseil is bundled into a single DLL.
+  # This condition is necessary as of abseil 20230125.3 when abseil is 
consumed via add_subdirectory,
+  # the abseil_dll target  is named abseil_dll, while if abseil is consumed 
via find_package, the target
+  # is called absl::abseil_dll
+  # Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released 
in the minimum version of
+  # abseil required by protobuf, it is possible to always link 
absl::abseil_dll and absl::abseil_test_dll
+  # and remove the if
+  if(protobuf_ABSL_PROVIDER STREQUAL "package")
+    set(protobuf_ABSL_USED_TARGETS absl::abseil_dll)
+    set(protobuf_ABSL_USED_TEST_TARGETS absl::abseil_test_dll)
+  else()
+    set(protobuf_ABSL_USED_TARGETS abseil_dll)
+    set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll)
+  endif()
+else()
+  set(protobuf_ABSL_USED_TARGETS
+    absl::absl_check
+    absl::absl_log
+    absl::algorithm
+    absl::base
+    absl::bind_front
+    absl::bits
+    absl::btree
+    absl::cleanup
+    absl::cord
+    absl::core_headers
+    absl::debugging
+    absl::die_if_null
+    absl::dynamic_annotations
+    absl::flags
+    absl::flat_hash_map
+    absl::flat_hash_set
+    absl::function_ref
+    absl::hash
+    absl::layout
+    absl::log_initialize
+    absl::log_severity
+    absl::memory
+    absl::node_hash_map
+    absl::node_hash_set
+    absl::optional
+    absl::span
+    absl::status
+    absl::statusor
+    absl::strings
+    absl::synchronization
+    absl::time
+    absl::type_traits
+    absl::utility
+    absl::variant
+    utf8_range::utf8_validity
+    utf8_range::utf8_range
+  )
+  set(protobuf_ABSL_USED_TEST_TARGETS
+    absl::scoped_mock_log
+  )
+endif ()
+
 find_package(Doxygen)
 find_package(OpenSSL REQUIRED)
 find_package(Protobuf REQUIRED)
+find_package(absl REQUIRED)
+find_package(utf8_range REQUIRED)
 find_package(CyrusSASL)
 find_package(GSasl)
 find_package(Threads)
@@ -89,7 +150,10 @@ endif (NOT THREAD_LOCAL_SUPPORTED)
 # to compile some dummy code
 unset (PROTOC_IS_COMPATIBLE CACHE)
 set (CMAKE_REQUIRED_INCLUDES ${PROTOBUF_INCLUDE_DIRS})
-set (CMAKE_REQUIRED_LIBRARIES ${PROTOBUF_LIBRARY} ${PROTOBUF_PROTOC_LIBRARY})
+set (CMAKE_REQUIRED_LIBRARIES
+  ${PROTOBUF_LIBRARY}
+  ${PROTOBUF_PROTOC_LIBRARY}
+  ${protobuf_ABSL_USED_TARGETS})
 check_cxx_source_compiles(
     "#include <google/protobuf/io/printer.h>
     #include <string>
@@ -280,6 +344,7 @@ if (HADOOP_BUILD AND NOT MSVC)
   hadoop_target_link_dual_libraries(hdfspp
     ${LIB_DL}
     ${PROTOBUF_LIBRARY}
+    ${protobuf_ABSL_USED_TARGETS}
     ${OPENSSL_LIBRARIES}
     ${SASL_LIBRARIES}
     ${CMAKE_THREAD_LIBS_INIT}
@@ -291,6 +356,7 @@ else (HADOOP_BUILD AND NOT MSVC)
   target_link_libraries(hdfspp_static PUBLIC
     ${LIB_DL}
     ${PROTOBUF_LIBRARY}
+    ${protobuf_ABSL_USED_TARGETS}
     ${OPENSSL_LIBRARIES}
     ${SASL_LIBRARIES}
     ${CMAKE_THREAD_LIBS_INIT}
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/CMakeLists.txt
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/CMakeLists.txt
index 35a38258f5f..545562b09e5 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/CMakeLists.txt
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/CMakeLists.txt
@@ -38,7 +38,10 @@ protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS
 )
 
 add_executable(protoc-gen-hrpc protoc_gen_hrpc.cc)
-target_link_libraries(protoc-gen-hrpc ${PROTOBUF_PROTOC_LIBRARY} 
${PROTOBUF_LIBRARY})
+target_link_libraries(protoc-gen-hrpc
+  ${PROTOBUF_PROTOC_LIBRARY}
+  ${PROTOBUF_LIBRARY}
+  ${protobuf_ABSL_USED_TARGETS})
 
 function(GEN_HRPC SRCS)
   if(NOT ARGN)
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/protoc_gen_hrpc.cc
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/protoc_gen_hrpc.cc
index e7355c0b8c1..28a9e4af80d 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/protoc_gen_hrpc.cc
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto/protoc_gen_hrpc.cc
@@ -48,7 +48,6 @@ private:
 
 bool StubGenerator::Generate(const FileDescriptor *file, const std::string &,
                              GeneratorContext *ctx, std::string *) const {
-  namespace pb = ::google::protobuf;
   std::unique_ptr<ZeroCopyOutputStream> os(
       ctx->Open(StripProto(file->name()) + ".hrpc.inl"));
   Printer out(os.get(), '$');
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/CMakeLists.txt
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/CMakeLists.txt
index 3e3112181d1..a806bb8a7a8 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/CMakeLists.txt
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/CMakeLists.txt
@@ -90,11 +90,11 @@ target_link_libraries(get_jni_test
 add_memcheck_test(get_jni get_jni_test)
 
 add_executable(remote_block_reader_test remote_block_reader_test.cc)
-target_link_libraries(remote_block_reader_test test_common reader proto common 
connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} gmock_main 
${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(remote_block_reader_test test_common reader proto common 
connection ${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} 
${OPENSSL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(remote_block_reader remote_block_reader_test)
 
 add_executable(sasl_digest_md5_test sasl_digest_md5_test.cc)
-target_link_libraries(sasl_digest_md5_test common ${PROTOBUF_LIBRARIES} 
${OPENSSL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(sasl_digest_md5_test common ${PROTOBUF_LIBRARIES} 
${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} gmock_main 
${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(sasl_digest_md5 sasl_digest_md5_test)
 
 add_executable(retry_policy_test retry_policy_test.cc)
@@ -103,15 +103,15 @@ add_memcheck_test(retry_policy retry_policy_test)
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 add_executable(rpc_engine_test rpc_engine_test.cc ${PROTO_TEST_SRCS} 
${PROTO_TEST_HDRS})
-target_link_libraries(rpc_engine_test test_common rpc proto common 
${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} gmock_main 
${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES})
+target_link_libraries(rpc_engine_test test_common rpc proto common 
${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES})
 add_memcheck_test(rpc_engine rpc_engine_test)
 
 add_executable(bad_datanode_test bad_datanode_test.cc)
-target_link_libraries(bad_datanode_test rpc reader proto fs bindings_c rpc 
proto common reader connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(bad_datanode_test rpc reader proto fs bindings_c rpc 
proto common reader connection ${PROTOBUF_LIBRARIES} 
${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} gmock_main 
${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(bad_datanode bad_datanode_test)
 
 add_executable(node_exclusion_test node_exclusion_test.cc)
-target_link_libraries(node_exclusion_test fs gmock_main common 
${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} 
${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(node_exclusion_test fs gmock_main common 
${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(node_exclusion node_exclusion_test)
 
 add_executable(configuration_test $<TARGET_OBJECTS:test_utils> 
configuration_test.cc)
@@ -125,30 +125,30 @@ target_link_libraries(hdfs_configuration_test common 
gmock_main ${CMAKE_THREAD_L
 add_memcheck_test(hdfs_configuration hdfs_configuration_test)
 
 add_executable(hdfspp_errors_test hdfspp_errors.cc)
-target_link_libraries(hdfspp_errors_test common gmock_main bindings_c fs rpc 
proto common reader connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(hdfspp_errors_test common gmock_main bindings_c fs rpc 
proto common reader connection ${PROTOBUF_LIBRARIES} 
${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} gmock_main 
${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(hdfspp_errors hdfspp_errors_test)
 
 add_executable(hdfs_builder_test $<TARGET_OBJECTS:test_utils> 
hdfs_builder_test.cc)
 target_include_directories(hdfs_builder_test PRIVATE ../lib)
-target_link_libraries(hdfs_builder_test test_common gmock_main bindings_c fs 
rpc proto common reader connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(hdfs_builder_test test_common gmock_main bindings_c fs 
rpc proto common reader connection ${PROTOBUF_LIBRARIES} 
${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} gmock_main 
${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(hdfs_builder_test hdfs_builder_test)
 
 add_executable(logging_test logging_test.cc $<TARGET_OBJECTS:x_platform_obj>)
 target_include_directories(logging_test PRIVATE ../lib)
-target_link_libraries(logging_test common gmock_main bindings_c fs rpc proto 
common reader connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(logging_test common gmock_main bindings_c fs rpc proto 
common reader connection ${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} 
${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} gmock_main ${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(logging_test logging_test)
 
 add_executable(hdfs_ioservice_test hdfs_ioservice_test.cc)
-target_link_libraries(hdfs_ioservice_test fs gmock_main common 
${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} 
${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(hdfs_ioservice_test fs gmock_main common 
${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(hdfs_ioservice hdfs_ioservice_test)
 
 add_executable(user_lock_test user_lock_test.cc)
-target_link_libraries(user_lock_test fs gmock_main common 
${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} 
${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(user_lock_test fs gmock_main common 
${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} 
${SASL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(user_lock user_lock_test)
 
 add_executable(hdfs_config_connect_bugs_test $<TARGET_OBJECTS:test_utils> 
hdfs_config_connect_bugs.cc)
 target_include_directories(hdfs_config_connect_bugs_test PRIVATE ../lib)
-target_link_libraries(hdfs_config_connect_bugs_test common gmock_main 
bindings_c fs rpc proto common reader connection ${PROTOBUF_LIBRARIES} 
${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(hdfs_config_connect_bugs_test common gmock_main 
bindings_c fs rpc proto common reader connection ${PROTOBUF_LIBRARIES} 
${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} ${SASL_LIBRARIES} 
${CMAKE_THREAD_LIBS_INIT})
 add_memcheck_test(hdfs_config_connect_bugs hdfs_config_connect_bugs_test)
 
 
@@ -178,22 +178,22 @@ add_dependencies(hdfspp_test_static proto)
 #TODO: Link against full library rather than just parts
 
 build_libhdfs_test(libhdfs_threaded hdfspp_test_shim_static expect.c 
test_libhdfs_threaded.c ${OS_DIR}/thread.c)
-link_libhdfs_test(libhdfs_threaded hdfspp_test_shim_static fs reader rpc proto 
common connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} native_mini_dfs 
${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES} )
+link_libhdfs_test(libhdfs_threaded hdfspp_test_shim_static fs reader rpc proto 
common connection ${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} 
${OPENSSL_LIBRARIES} native_mini_dfs ${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES} )
 add_libhdfs_test  (libhdfs_threaded hdfspp_test_shim_static)
 
 build_libhdfs_test(hdfspp_mini_dfs_smoke hdfspp_test_shim_static 
${CMAKE_CURRENT_LIST_DIR}/hdfspp_mini_dfs_smoke.cc)
-link_libhdfs_test (hdfspp_mini_dfs_smoke hdfspp_test_shim_static fs reader rpc 
proto common connection gmock_main ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
native_mini_dfs ${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES})
+link_libhdfs_test (hdfspp_mini_dfs_smoke hdfspp_test_shim_static fs reader rpc 
proto common connection gmock_main ${PROTOBUF_LIBRARIES} 
${protobuf_ABSL_USED_TARGETS} ${OPENSSL_LIBRARIES} native_mini_dfs 
${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES})
 add_libhdfs_test  (hdfspp_mini_dfs_smoke hdfspp_test_shim_static)
 
 if (NOT MSVC)
   build_libhdfs_test(libhdfs_mini_stress_valgrind hdfspp_test_static expect.c 
test_libhdfs_mini_stress.c ${OS_DIR}/thread.c)
-  link_libhdfs_test(libhdfs_mini_stress_valgrind hdfspp_test_static fs reader 
rpc proto common connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
native_mini_dfs ${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES})
+  link_libhdfs_test(libhdfs_mini_stress_valgrind hdfspp_test_static fs reader 
rpc proto common connection ${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} 
${OPENSSL_LIBRARIES} native_mini_dfs ${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES})
   add_memcheck_test(libhdfs_mini_stress_valgrind_hdfspp_test_static 
libhdfs_mini_stress_valgrind_hdfspp_test_static)
   set_target_properties(libhdfs_mini_stress_valgrind_hdfspp_test_static 
PROPERTIES COMPILE_DEFINITIONS "VALGRIND")
 endif (NOT MSVC)
 
 build_libhdfs_test(libhdfs_mini_stress hdfspp_test_shim_static expect.c 
test_libhdfs_mini_stress.c ${OS_DIR}/thread.c)
-link_libhdfs_test(libhdfs_mini_stress hdfspp_test_shim_static fs reader rpc 
proto common connection ${PROTOBUF_LIBRARIES} ${OPENSSL_LIBRARIES} 
native_mini_dfs ${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES})
+link_libhdfs_test(libhdfs_mini_stress hdfspp_test_shim_static fs reader rpc 
proto common connection ${PROTOBUF_LIBRARIES} ${protobuf_ABSL_USED_TARGETS} 
${OPENSSL_LIBRARIES} native_mini_dfs ${JAVA_JVM_LIBRARY} ${SASL_LIBRARIES})
 add_libhdfs_test(libhdfs_mini_stress hdfspp_test_shim_static)
 
 build_libhdfs_test(hdfs_ext hdfspp_test_shim_static 
${CMAKE_CURRENT_LIST_DIR}/hdfs_ext_test.cc)
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/remote_block_reader_test.cc
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/remote_block_reader_test.cc
index 0c22e89f4c3..c0b1244fc29 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/remote_block_reader_test.cc
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/remote_block_reader_test.cc
@@ -58,8 +58,7 @@ using ::testing::Return;
 using std::make_pair;
 using std::string;
 
-namespace pb = ::google::protobuf;
-namespace pbio = pb::io;
+namespace pbio = ::google::protobuf::io;
 
 namespace hdfs {
 
@@ -114,7 +113,7 @@ public:
 
 }
 
-static inline string ToDelimitedString(const pb::MessageLite *msg) {
+static inline string ToDelimitedString(const google::protobuf::MessageLite 
*msg) {
   string res;
   res.reserve(hdfs::DelimitedPBMessageSize(msg));
   pbio::StringOutputStream os(&res);
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/rpc_engine_test.cc
 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/rpc_engine_test.cc
index ba09e8fc907..1c9bc234e4b 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/rpc_engine_test.cc
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/rpc_engine_test.cc
@@ -48,7 +48,6 @@ using ::testing::Return;
 using ::std::make_pair;
 using ::std::string;
 
-namespace pb = ::google::protobuf;
 namespace pbio = ::google::protobuf::io;
 
 namespace hdfs {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to