diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index 7d4b39f11d60..bed48b9eb580 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -79,7 +79,6 @@ jobs: source scripts/setup-centos9.sh install_cuda ${CUDA_VERSION} fi - source scripts/setup-centos9.sh && install_grpc - uses: assignUser/stash/restore@v1 with: diff --git a/.github/workflows/scheduled.yml b/.github/workflows/scheduled.yml index 1e4c36f9298f..8ec78a9f8970 100644 --- a/.github/workflows/scheduled.yml +++ b/.github/workflows/scheduled.yml @@ -200,7 +200,6 @@ jobs: env: EXTRA_CMAKE_FLAGS: "-DVELOX_ENABLE_ARROW=ON -DVELOX_BUILD_PYTHON_PACKAGE=ON ${{ inputs.extraCMakeFlags }}" run: | - source scripts/setup-centos9.sh && install_grpc EXTRA_CMAKE_FLAGS="-DPYTHON_EXECUTABLE=$(which python3) $EXTRA_CMAKE_FLAGS" make debug diff --git a/CMake/Findgrpc.cmake b/CMake/Findgrpc.cmake deleted file mode 100644 index c480d4eaa463..000000000000 --- a/CMake/Findgrpc.cmake +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Dependencies -include(FindPackageHandleStandardArgs) - -function(find_and_link_lib prefix lib_name) - find_library(${lib_name}_lib ${lib_name}) - find_package_handle_standard_args(${lib_name} REQUIRED_VARS ${lib_name}_lib) - if(${lib_name}_FOUND) - add_library(${prefix}::${lib_name} STATIC IMPORTED) - get_filename_component(lib_path ${${lib_name}_lib} ABSOLUTE) - message(STATUS "Found lib: ${lib_value}") - target_link_libraries(${prefix}::${lib_name} INTERFACE ${lib_path}) - set_target_properties( - ${prefix}::${lib_name} PROPERTIES IMPORTED_LOCATION "${lib_path}") - endif() -endfunction() - -find_and_link_lib(grpc grpc) -find_and_link_lib(grpc grpc++) -find_and_link_lib(gpr gpr) -find_and_link_lib(z z) -find_and_link_lib(address_sorting address_sorting) -find_and_link_lib(cares cares) -find_and_link_lib(upb upb) -find_and_link_lib(boringssl ssl) -find_and_link_lib(boringssl crypto) - -find_and_link_lib(absl absl_synchronization) -find_and_link_lib(absl absl_time_zone) -find_and_link_lib(absl absl_statusor) -find_and_link_lib(absl absl_status) -find_and_link_lib(absl absl_cordz_info) -find_and_link_lib(absl absl_cord) -find_and_link_lib(absl absl_symbolize) -find_and_link_lib(absl absl_demangle_internal) -find_and_link_lib(absl absl_flags_parse) -find_and_link_lib(absl absl_base) -find_and_link_lib(absl absl_cord_internal) -find_and_link_lib(absl absl_malloc_internal) -find_and_link_lib(absl absl_bad_optional_access) -find_and_link_lib(absl absl_throw_delegate) -find_and_link_lib(absl absl_bad_variant_access) -find_and_link_lib(absl absl_random_internal_pool_urbg) -find_and_link_lib(absl absl_random_internal_randen) -find_and_link_lib(absl absl_random_internal_seed_material) -find_and_link_lib(absl absl_random_seed_gen_exception) -find_and_link_lib(absl absl_random_internal_randen_hwaes) -find_and_link_lib(absl absl_random_internal_randen_slow) -find_and_link_lib(absl absl_graphcycles_internal) -find_and_link_lib(absl absl_examine_stack) -find_and_link_lib(absl absl_stacktrace) -find_and_link_lib(absl absl_debugging_internal) -find_and_link_lib(absl absl_cordz_functions) -find_and_link_lib(absl absl_exponential_biased) -find_and_link_lib(absl absl_cordz_handle) -find_and_link_lib(absl absl_raw_logging_internal) -find_and_link_lib(absl absl_log_severity) -find_and_link_lib(absl absl_time) -find_and_link_lib(absl absl_str_format_internal) -find_and_link_lib(absl absl_strerror) -find_and_link_lib(absl absl_strings) -find_and_link_lib(absl absl_strings_internal) -find_and_link_lib(absl absl_raw_hash_set) -find_and_link_lib(absl absl_hashtablez_sampler) -find_and_link_lib(absl absl_hash) -find_and_link_lib(absl absl_city) -find_and_link_lib(absl absl_int128) -find_and_link_lib(absl absl_low_level_hash) -find_and_link_lib(absl absl_random_internal_randen_hwaes_impl) -find_and_link_lib(absl absl_random_internal_platform) -find_and_link_lib(absl absl_flags_internal) -find_and_link_lib(absl absl_flags_usage_internal) -find_and_link_lib(absl absl_flags_reflection) -find_and_link_lib(absl absl_flags_commandlineflag) -find_and_link_lib(absl absl_flags_private_handle_accessor) -find_and_link_lib(absl absl_flags_commandlineflag_internal) -find_and_link_lib(absl absl_flags_config) -find_and_link_lib(absl absl_flags_program_name) -find_and_link_lib(absl absl_flags_marshalling) -find_and_link_lib(absl absl_spinlock_wait) -find_and_link_lib(absl absl_kernel_timeout_internal) -find_and_link_lib(absl absl_crc_cord_state) -find_and_link_lib(absl absl_crc32c) -find_and_link_lib(absl absl_crc_internal) \ No newline at end of file diff --git a/CMake/resolve_dependency_modules/boringssl.cmake b/CMake/resolve_dependency_modules/boringssl.cmake new file mode 100644 index 000000000000..9c881ec20bd9 --- /dev/null +++ b/CMake/resolve_dependency_modules/boringssl.cmake @@ -0,0 +1,36 @@ +# Copyright (c) Facebook, Inc. and its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +include_guard(GLOBAL) + +set(VELOX_BORINGSSL_BUILD_VERSION fips-20220613) +set(VELOX_BORINGSSL_BUILD_SHA256_CHECKSUM + a343962da2fbb10d8fa2cd9a2832839a23045a197c0ff306dc0fa0abb85759b3) +string(CONCAT VELOX_BORINGSSL_SOURCE_URL + "https://github.com/google/boringssl/archive/refs/tags/" + "${VELOX_BORINGSSL_BUILD_VERSION}.tar.gz") + +resolve_dependency_url(BORINGSSL) + +message(STATUS "Building BoringSSL from source") + +FetchContent_Declare( + boringssl + URL ${VELOX_BORINGSSL_SOURCE_URL} + URL_HASH ${VELOX_BORINGSSL_BUILD_SHA256_CHECKSUM} + OVERRIDE_FIND_PACKAGE EXCLUDE_FROM_ALL SYSTEM) + +set(CMAKE_BUILD_TYPE Release) +FetchContent_MakeAvailable(boringssl) +add_library(boringssl::ssl ALIAS ssl) +add_library(boringssl::crypto ALIAS crypto) diff --git a/CMake/resolve_dependency_modules/cares.cmake b/CMake/resolve_dependency_modules/cares.cmake new file mode 100644 index 000000000000..15edaa66aed6 --- /dev/null +++ b/CMake/resolve_dependency_modules/cares.cmake @@ -0,0 +1,37 @@ +# Copyright (c) Facebook, Inc. and its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +include_guard(GLOBAL) + +set(VELOX_CARES_BUILD_VERSION cares-1_17_2) +set(VELOX_CARES_BUILD_SHA256_CHECKSUM + 444b7dbf33cb6e8a764d069e3485cbaaa28386d60eace6988275c3cb9534d300) +string(CONCAT VELOX_CARES_SOURCE_URL + "https://github.com/c-ares/c-ares/archive/refs/tags/" + "${VELOX_CARES_BUILD_VERSION}.tar.gz") + +resolve_dependency_url(CARES) + +message(STATUS "Building C-ARES from source") + +FetchContent_Declare( + cares + URL ${VELOX_CARES_SOURCE_URL} + URL_HASH ${VELOX_CARES_BUILD_SHA256_CHECKSUM} + OVERRIDE_FIND_PACKAGE EXCLUDE_FROM_ALL SYSTEM) + +set(CARES_STATIC ON) +set(CARES_INSTALL ON) +set(CARES_SHARED OFF) +FetchContent_MakeAvailable(cares) +add_library(cares::cares ALIAS c-ares) diff --git a/CMake/resolve_dependency_modules/grpc.cmake b/CMake/resolve_dependency_modules/grpc.cmake index 8ae636fa49a9..fea922c15581 100644 --- a/CMake/resolve_dependency_modules/grpc.cmake +++ b/CMake/resolve_dependency_modules/grpc.cmake @@ -22,7 +22,7 @@ string(CONCAT VELOX_GRPC_SOURCE_URL resolve_dependency_url(GRPC) -message(STATUS "Building Google Cloud CPP from source") +message(STATUS "Building gRPC from source") FetchContent_Declare( gRPC @@ -54,4 +54,7 @@ set(gRPC_INSTALL FetchContent_MakeAvailable(gRPC) add_library(gRPC::grpc ALIAS grpc) add_library(gRPC::grpc++ ALIAS grpc++) +add_library(gRPC::gpr ALIAS gpr) +add_library(gRPC::address_sorting ALIAS address_sorting) +add_library(gRPC::upb ALIAS upb) add_executable(gRPC::grpc_cpp_plugin ALIAS grpc_cpp_plugin) diff --git a/CMakeLists.txt b/CMakeLists.txt index d4f4024002ab..a5b2bdb72bc6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -454,6 +454,19 @@ add_compile_definitions(FOLLY_HAVE_INT128_T=1) set_source(folly) resolve_dependency(folly) +# Spark qury runner depends on absl, c-ares, grpc and boringssl. +set_source(absl) +resolve_dependency(absl 20240116 EXACT) + +set_source(cares) +resolve_dependency(cares 1.17.2 EXACT) + +set_source(gRPC) +resolve_dependency(gRPC 1.48.1 EXACT) + +set_source(boringssl) +resolve_dependency(boringssl) + if(VELOX_ENABLE_REMOTE_FUNCTIONS) # TODO: Move this to use resolve_dependency(). For some reason, FBThrift # requires clients to explicitly install fizz and wangle. diff --git a/scripts/setup-centos9.sh b/scripts/setup-centos9.sh index 5c8b32397d8f..5c8f7caf53d2 100755 --- a/scripts/setup-centos9.sh +++ b/scripts/setup-centos9.sh @@ -231,60 +231,6 @@ function install_velox_deps { run_and_time install_duckdb } -function install_grpc { - # abseil-cpp - github_checkout abseil/abseil-cpp 20240116.2 --depth 1 - cmake_install \ - -DABSL_BUILD_TESTING=OFF \ - -DCMAKE_CXX_STANDARD=17 \ - -DABSL_PROPAGATE_CXX_STD=ON \ - -DABSL_ENABLE_INSTALL=ON - - # protobuf - github_checkout protocolbuffers/protobuf v21.8 --depth 1 - cmake_install \ - -Dprotobuf_BUILD_TESTS=OFF - - # c-ares - github_checkout c-ares/c-ares cares-1_17_2 --depth 1 - cmake_install \ - -DCMAKE_BUILD_TYPE=Release \ - -DCARES_STATIC=ON \ - -DCARES_INSTALL=ON - - # grpc - github_checkout grpc/grpc v1.48.1 --depth 1 - cmake_install \ - -DgRPC_BUILD_TESTS=OFF \ - -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_INSTALL=ON -} - -# function install_grpc { -# git clone https://github.com/grpc/grpc.git --branch v1.50.0 --single-branch -# ( -# cd grpc -# git submodule update --init -# mkdir -p cmake/build -# cd cmake/build -# cmake ../.. -DgRPC_INSTALL=ON \ -# -DCMAKE_BUILD_TYPE=Release \ -# -DgRPC_ABSL_PROVIDER=module \ -# -DgRPC_CARES_PROVIDER=module \ -# -DgRPC_PROTOBUF_PROVIDER=module \ -# -DgRPC_RE2_PROVIDER=package \ -# -DgRPC_SSL_PROVIDER=package \ -# -DgRPC_ZLIB_PROVIDER=package -# make "-j$(nproc)" -# $SUDO make install -# ) -# } - (return 2> /dev/null) && return # If script was sourced, don't run commands. ( diff --git a/scripts/setup-ubuntu.sh b/scripts/setup-ubuntu.sh index ef07a007b8e5..85505bd4894f 100755 --- a/scripts/setup-ubuntu.sh +++ b/scripts/setup-ubuntu.sh @@ -168,60 +168,6 @@ function install_cuda { $SUDO apt install -y cuda-nvcc-$(echo $1 | tr '.' '-') cuda-cudart-dev-$(echo $1 | tr '.' '-') } -function install_grpc { - # abseil-cpp - github_checkout abseil/abseil-cpp 20240116.2 --depth 1 - cmake_install \ - -DABSL_BUILD_TESTING=OFF \ - -DCMAKE_CXX_STANDARD=17 \ - -DABSL_PROPAGATE_CXX_STD=ON \ - -DABSL_ENABLE_INSTALL=ON - - # protobuf - github_checkout protocolbuffers/protobuf v21.8 --depth 1 - cmake_install \ - -Dprotobuf_BUILD_TESTS=OFF - - # c-ares - github_checkout c-ares/c-ares cares-1_17_2 --depth 1 - cmake_install \ - -DCMAKE_BUILD_TYPE=Release \ - -DCARES_STATIC=ON \ - -DCARES_INSTALL=ON - - # grpc - github_checkout grpc/grpc v1.48.1 --depth 1 - cmake_install \ - -DgRPC_BUILD_TESTS=OFF \ - -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_INSTALL=ON -} - -# function install_grpc { -# git clone https://github.com/grpc/grpc.git --branch v1.50.0 --single-branch -# ( -# cd grpc -# git submodule update --init -# mkdir -p cmake/build -# cd cmake/build -# cmake ../.. -DgRPC_INSTALL=ON \ -# -DCMAKE_BUILD_TYPE=Release \ -# -DgRPC_ABSL_PROVIDER=module \ -# -DgRPC_CARES_PROVIDER=module \ -# -DgRPC_PROTOBUF_PROVIDER=module \ -# -DgRPC_RE2_PROVIDER=package \ -# -DgRPC_SSL_PROVIDER=package \ -# -DgRPC_ZLIB_PROVIDER=package -# make "-j$(nproc)" -# $SUDO make install -# ) -# } - function install_velox_deps { run_and_time install_velox_deps_from_apt run_and_time install_fmt @@ -238,7 +184,6 @@ function install_velox_deps { function install_apt_deps { install_build_prerequisites install_velox_deps_from_apt - run_and_time install_grpc } (return 2> /dev/null) && return # If script was sourced, don't run commands. diff --git a/velox/functions/sparksql/fuzzer/CMakeLists.txt b/velox/functions/sparksql/fuzzer/CMakeLists.txt index 57bbb221297d..add38d1a0a5b 100644 --- a/velox/functions/sparksql/fuzzer/CMakeLists.txt +++ b/velox/functions/sparksql/fuzzer/CMakeLists.txt @@ -66,19 +66,18 @@ add_library(velox_spark_query_runner ${SRCS}) target_include_directories(velox_spark_query_runner PUBLIC ${PROJECT_BINARY_DIR}/) -include(${PROJECT_SOURCE_DIR}/CMake/Findgrpc.cmake) target_link_libraries( velox_spark_query_runner velox_fuzzer_util velox_exec_test_lib velox_arrow_bridge - grpc::grpc++ - grpc::grpc - gpr::gpr + gRPC::grpc++ + gRPC::grpc + gRPC::gpr protobuf::libprotobuf - z::z + ZLIB::ZLIB re2::re2 - address_sorting::address_sorting + gRPC::address_sorting cares::cares boringssl::ssl boringssl::crypto @@ -101,74 +100,74 @@ target_link_libraries( velox_vector_test_lib gtest gtest_main - grpc::grpc++ - grpc::grpc - gpr::gpr + gRPC::grpc++ + gRPC::grpc + gRPC::gpr protobuf::libprotobuf - z::z + ZLIB::ZLIB re2::re2 - address_sorting::address_sorting + gRPC::address_sorting cares::cares - upb::upb + gRPC::upb boringssl::ssl boringssl::crypto - absl::absl_statusor - absl::absl_status - absl::absl_cordz_info - absl::absl_cord - absl::absl_symbolize - absl::absl_demangle_internal - absl::absl_flags_parse - absl::absl_cord_internal - absl::absl_bad_optional_access - absl::absl_throw_delegate - absl::absl_bad_variant_access - absl::absl_random_internal_pool_urbg - absl::absl_random_internal_randen - absl::absl_random_internal_seed_material - absl::absl_random_seed_gen_exception - absl::absl_random_internal_randen_hwaes - absl::absl_random_internal_randen_slow - absl::absl_graphcycles_internal - absl::absl_kernel_timeout_internal - absl::absl_base - absl::absl_malloc_internal - absl::absl_examine_stack - absl::absl_debugging_internal - absl::absl_exponential_biased - absl::absl_cordz_handle - absl::absl_log_severity - absl::absl_stacktrace - absl::absl_time - absl::absl_cordz_functions - absl::absl_raw_logging_internal - absl::absl_str_format_internal - absl::absl_strerror - absl::absl_crc_cord_state - absl::absl_crc32c - absl::absl_crc_internal - absl::absl_strings - absl::absl_strings_internal - absl::absl_raw_hash_set - absl::absl_hashtablez_sampler - absl::absl_hash - absl::absl_city - absl::absl_int128 - absl::absl_low_level_hash - absl::absl_random_internal_randen_hwaes_impl - absl::absl_random_internal_platform - absl::absl_flags_internal - absl::absl_flags_usage_internal - absl::absl_flags_reflection - absl::absl_flags_commandlineflag - absl::absl_flags_private_handle_accessor - absl::absl_flags_commandlineflag_internal - absl::absl_flags_config - absl::absl_flags_program_name - absl::absl_flags_marshalling - absl::absl_synchronization - absl::absl_time_zone - absl::absl_spinlock_wait + absl::statusor + absl::status + absl::cordz_info + absl::cord + absl::symbolize + absl::demangle_internal + absl::flags_parse + absl::cord_internal + absl::bad_optional_access + absl::throw_delegate + absl::bad_variant_access + absl::random_internal_pool_urbg + absl::random_internal_randen + absl::random_internal_seed_material + absl::random_seed_gen_exception + absl::random_internal_randen_hwaes + absl::random_internal_randen_slow + absl::graphcycles_internal + absl::kernel_timeout_internal + absl::base + absl::malloc_internal + absl::examine_stack + absl::debugging_internal + absl::exponential_biased + absl::cordz_handle + absl::log_severity + absl::stacktrace + absl::time + absl::cordz_functions + absl::raw_logging_internal + absl::str_format_internal + absl::strerror + absl::crc_cord_state + absl::crc32c + absl::crc_internal + absl::strings + absl::strings_internal + absl::raw_hash_set + absl::hashtablez_sampler + absl::hash + absl::city + absl::int128 + absl::low_level_hash + absl::random_internal_randen_hwaes_impl + absl::random_internal_platform + absl::flags_internal + absl::flags_usage_internal + absl::flags_reflection + absl::flags_commandlineflag + absl::flags_private_handle_accessor + absl::flags_commandlineflag_internal + absl::flags_config + absl::flags_program_name + absl::flags_marshalling + absl::synchronization + absl::time_zone + absl::spinlock_wait pthread arrow lz4::lz4 diff --git a/velox/functions/sparksql/fuzzer/tests/CMakeLists.txt b/velox/functions/sparksql/fuzzer/tests/CMakeLists.txt index 690d16d78df4..5408667a53dc 100644 --- a/velox/functions/sparksql/fuzzer/tests/CMakeLists.txt +++ b/velox/functions/sparksql/fuzzer/tests/CMakeLists.txt @@ -62,74 +62,74 @@ target_link_libraries( glog::glog fmt::fmt ${FILESYSTEM} - grpc::grpc++ - grpc::grpc - gpr::gpr + gRPC::grpc++ + gRPC::grpc + gRPC::gpr protobuf::libprotobuf - z::z + ZLIB::ZLIB re2::re2 - address_sorting::address_sorting + gRPC::address_sorting cares::cares - upb::upb + gRPC::upb boringssl::ssl boringssl::crypto - absl::absl_statusor - absl::absl_status - absl::absl_cordz_info - absl::absl_cord - absl::absl_symbolize - absl::absl_demangle_internal - absl::absl_flags_parse - absl::absl_cord_internal - absl::absl_bad_optional_access - absl::absl_throw_delegate - absl::absl_bad_variant_access - absl::absl_random_internal_pool_urbg - absl::absl_random_internal_randen - absl::absl_random_internal_seed_material - absl::absl_random_seed_gen_exception - absl::absl_random_internal_randen_hwaes - absl::absl_random_internal_randen_slow - absl::absl_graphcycles_internal - absl::absl_kernel_timeout_internal - absl::absl_base - absl::absl_malloc_internal - absl::absl_examine_stack - absl::absl_debugging_internal - absl::absl_exponential_biased - absl::absl_cordz_handle - absl::absl_log_severity - absl::absl_stacktrace - absl::absl_time - absl::absl_cordz_functions - absl::absl_raw_logging_internal - absl::absl_str_format_internal - absl::absl_strerror - absl::absl_crc_cord_state - absl::absl_crc32c - absl::absl_crc_internal - absl::absl_strings - absl::absl_strings_internal - absl::absl_raw_hash_set - absl::absl_hashtablez_sampler - absl::absl_hash - absl::absl_city - absl::absl_int128 - absl::absl_low_level_hash - absl::absl_random_internal_randen_hwaes_impl - absl::absl_random_internal_platform - absl::absl_flags_internal - absl::absl_flags_usage_internal - absl::absl_flags_reflection - absl::absl_flags_commandlineflag - absl::absl_flags_private_handle_accessor - absl::absl_flags_commandlineflag_internal - absl::absl_flags_config - absl::absl_flags_program_name - absl::absl_flags_marshalling - absl::absl_synchronization - absl::absl_time_zone - absl::absl_spinlock_wait + absl::statusor + absl::status + absl::cordz_info + absl::cord + absl::symbolize + absl::demangle_internal + absl::flags_parse + absl::cord_internal + absl::bad_optional_access + absl::throw_delegate + absl::bad_variant_access + absl::random_internal_pool_urbg + absl::random_internal_randen + absl::random_internal_seed_material + absl::random_seed_gen_exception + absl::random_internal_randen_hwaes + absl::random_internal_randen_slow + absl::graphcycles_internal + absl::kernel_timeout_internal + absl::base + absl::malloc_internal + absl::examine_stack + absl::debugging_internal + absl::exponential_biased + absl::cordz_handle + absl::log_severity + absl::stacktrace + absl::time + absl::cordz_functions + absl::raw_logging_internal + absl::str_format_internal + absl::strerror + absl::crc_cord_state + absl::crc32c + absl::crc_internal + absl::strings + absl::strings_internal + absl::raw_hash_set + absl::hashtablez_sampler + absl::hash + absl::city + absl::int128 + absl::low_level_hash + absl::random_internal_randen_hwaes_impl + absl::random_internal_platform + absl::flags_internal + absl::flags_usage_internal + absl::flags_reflection + absl::flags_commandlineflag + absl::flags_private_handle_accessor + absl::flags_commandlineflag_internal + absl::flags_config + absl::flags_program_name + absl::flags_marshalling + absl::synchronization + absl::time_zone + absl::spinlock_wait pthread arrow lz4::lz4