Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build failure in storage_version_test #14821

Open
hjaekel opened this issue Nov 2, 2024 · 2 comments
Open

build failure in storage_version_test #14821

hjaekel opened this issue Nov 2, 2024 · 2 comments
Assignees
Labels
priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.

Comments

@hjaekel
Copy link

hjaekel commented Nov 2, 2024

Does this issue affect the google-cloud-cpp project? yes

What component of google-cloud-cpp is this related to? storage_version_test

Describe the bug Build fails on Alpine Linux Edge with the following message:

[9098/9197] Linking CXX executable google/cloud/storage/storage_version_test
ninja: job failed: : && /usr/bin/clang++ -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Wl,--copy-dt-needed-entries google/cloud/storage/CMakeFiles/storage_internal_async_partial_upload_test.dir/internal/async/partial_upload_test.cc.o -o google/cloud/storage/internal_async_partial_upload_test  -Wl,-rpath,/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/google/cloud/storage:/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/google/cloud/testing_util:/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/google/cloud:/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/external/googleapis  google/cloud/storage/libstorage_client_testing.so  google/cloud/testing_util/libgoogle_cloud_cpp_testing.so  google/cloud/testing_util/libgoogle_cloud_cpp_testing_grpc.so  /usr/lib/libgmock_main.so.1.15.2  /usr/lib/libgmock.so.1.15.2  /usr/lib/libgtest.so.1.15.2  /usr/lib/libcurl.so  /usr/lib/libabsl_failure_signal_handler.so.2401.0.0  google/cloud/storage/libgoogle_cloud_cpp_storage_grpc.so.2.30.0  google/cloud/storage/libgoogle_cloud_cpp_storage.so.2.30.0  /usr/lib/libcurl.so  google/cloud/libgoogle_cloud_cpp_rest_internal.so.2.30.0  /usr/lib/libcurl.so  /usr/lib/libcrc32c.so.1.1.0  google/cloud/libgoogle_cloud_cpp_grpc_utils.so.2.30.0  google/cloud/libgoogle_cloud_cpp_common.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_credentials_v1_iamcredentials_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_credentials_v1_common_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_longrunning_operations_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_rpc_status_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_rpc_error_details_protos.so.2.30.0  google/cloud/storage/libgoogle_cloud_cpp_storage_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_routing_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_v1_iam_policy_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_v1_policy_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_client_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_field_behavior_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_launch_stage_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_resource_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_v1_options_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_annotations_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_http_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_type_date_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_type_expr_protos.so.2.30.0  /usr/lib/libgrpc++.so.1.62.1  /usr/lib/libprotobuf.so.24.4.0  /usr/lib/libabsl_leak_check.so.2401.0.0  /usr/lib/libabsl_die_if_null.so.2401.0.0  /usr/lib/libabsl_log_initialize.so.2401.0.0  /usr/lib/libgrpc.so.39.0.0  /usr/lib/libabsl_statusor.so.2401.0.0  /usr/lib/libssl.so  /usr/lib/libcrypto.so  /usr/lib/libupb_json_lib.so.39.0.0  /usr/lib/libupb_textformat_lib.so.39.0.0  /usr/lib/libupb_message_lib.so.39.0.0  /usr/lib/libupb_base_lib.so.39.0.0  /usr/lib/libupb_mem_lib.so.39.0.0  /usr/lib/libutf8_range_lib.so.39.0.0  /usr/lib/libre2.so.11.0.0  /usr/lib/libabsl_log_internal_check_op.so.2401.0.0  /usr/lib/libabsl_log_internal_conditions.so.2401.0.0  /usr/lib/libabsl_log_internal_message.so.2401.0.0  /usr/lib/libabsl_examine_stack.so.2401.0.0  /usr/lib/libabsl_log_internal_nullguard.so.2401.0.0  /usr/lib/libabsl_log_internal_format.so.2401.0.0  /usr/lib/libabsl_log_internal_proto.so.2401.0.0  /usr/lib/libabsl_log_internal_log_sink_set.so.2401.0.0  /usr/lib/libabsl_log_globals.so.2401.0.0  /usr/lib/libabsl_log_internal_globals.so.2401.0.0  /usr/lib/libabsl_log_sink.so.2401.0.0  /usr/lib/libabsl_log_entry.so.2401.0.0  /usr/lib/libabsl_vlog_config_internal.so.2401.0.0  /usr/lib/libabsl_log_internal_fnmatch.so.2401.0.0  /usr/lib/libicuuc.so  /usr/lib/libz.so  /usr/lib/libcares.so  /usr/lib/libgpr.so.39.0.0  /usr/lib/libabsl_flags_internal.so.2401.0.0  /usr/lib/libabsl_flags_reflection.so.2401.0.0  /usr/lib/libabsl_raw_hash_set.so.2401.0.0  /usr/lib/libabsl_hash.so.2401.0.0  /usr/lib/libabsl_bad_variant_access.so.2401.0.0  /usr/lib/libabsl_city.so.2401.0.0  /usr/lib/libabsl_low_level_hash.so.2401.0.0  /usr/lib/libabsl_hashtablez_sampler.so.2401.0.0  /usr/lib/libabsl_flags_config.so.2401.0.0  /usr/lib/libabsl_flags_program_name.so.2401.0.0  /usr/lib/libabsl_flags_private_handle_accessor.so.2401.0.0  /usr/lib/libabsl_flags_commandlineflag.so.2401.0.0  /usr/lib/libabsl_flags_commandlineflag_internal.so.2401.0.0  /usr/lib/libabsl_status.so.2401.0.0  /usr/lib/libabsl_cord.so.2401.0.0  /usr/lib/libabsl_cordz_info.so.2401.0.0  /usr/lib/libabsl_cord_internal.so.2401.0.0  /usr/lib/libabsl_cordz_functions.so.2401.0.0  /usr/lib/libabsl_exponential_biased.so.2401.0.0  /usr/lib/libabsl_cordz_handle.so.2401.0.0  /usr/lib/libabsl_crc_cord_state.so.2401.0.0  /usr/lib/libabsl_crc32c.so.2401.0.0  /usr/lib/libabsl_crc_internal.so.2401.0.0  /usr/lib/libabsl_crc_cpu_detect.so.2401.0.0  /usr/lib/libabsl_strerror.so.2401.0.0  /usr/lib/libabsl_synchronization.so.2401.0.0  /usr/lib/libabsl_symbolize.so.2401.0.0  /usr/lib/libabsl_demangle_internal.so.2401.0.0  /usr/lib/libabsl_stacktrace.so.2401.0.0  /usr/lib/libabsl_debugging_internal.so.2401.0.0  /usr/lib/libabsl_graphcycles_internal.so.2401.0.0  /usr/lib/libabsl_malloc_internal.so.2401.0.0  /usr/lib/libabsl_kernel_timeout_internal.so.2401.0.0  /usr/lib/libabsl_flags_marshalling.so.2401.0.0  /usr/lib/libabsl_str_format_internal.so.2401.0.0  /usr/lib/libabsl_random_distributions.so.2401.0.0  /usr/lib/libabsl_random_seed_sequences.so.2401.0.0  /usr/lib/libabsl_random_internal_pool_urbg.so.2401.0.0  /usr/lib/libabsl_random_internal_randen.so.2401.0.0  /usr/lib/libabsl_random_internal_randen_hwaes.so.2401.0.0  /usr/lib/libabsl_random_internal_randen_hwaes_impl.so.2401.0.0  /usr/lib/libabsl_random_internal_randen_slow.so.2401.0.0  /usr/lib/libabsl_random_internal_platform.so.2401.0.0  /usr/lib/libabsl_random_internal_seed_material.so.2401.0.0  /usr/lib/libabsl_random_seed_gen_exception.so.2401.0.0  /usr/lib/libaddress_sorting.so.39.0.0  -ldl  -lm  -lrt  /usr/lib/libabsl_bad_optional_access.so.2401.0.0  /usr/lib/libabsl_time.so.2401.0.0  /usr/lib/libabsl_strings.so.2401.0.0  /usr/lib/libabsl_strings_internal.so.2401.0.0  /usr/lib/libabsl_string_view.so.2401.0.0  /usr/lib/libabsl_throw_delegate.so.2401.0.0  /usr/lib/libabsl_base.so.2401.0.0  /usr/lib/libabsl_spinlock_wait.so.2401.0.0  /usr/lib/libabsl_raw_logging_internal.so.2401.0.0  /usr/lib/libabsl_log_severity.so.2401.0.0  /usr/lib/libabsl_int128.so.2401.0.0  /usr/lib/libabsl_civil_time.so.2401.0.0  /usr/lib/libabsl_time_zone.so.2401.0.0 && :
/usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0/../../../../aarch64-alpine-linux-musl/bin/ld: google/cloud/storage/CMakeFiles/storage_internal_async_partial_upload_test.dir/internal/async/partial_upload_test.cc.o: in function `google::cloud::storage_internal::v2_30::(anonymous namespace)::PartialUpload_ErrorOnWrite_Test::TestBody()':
partial_upload_test.cc:(.text+0xd9e8): undefined reference to `_ZN4absl12lts_202401164CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEETnNSt9enable_ifIXsr3std7is_sameIT_S8_EE5valueEiE4typeELi0EEEOSA_'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: job failed: : && /usr/bin/clang++ -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Wl,--copy-dt-needed-entries google/cloud/storage/CMakeFiles/storage_internal_async_insert_object_test.dir/internal/async/insert_object_test.cc.o -o google/cloud/storage/internal_async_insert_object_test  -Wl,-rpath,/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/google/cloud/storage:/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/google/cloud/testing_util:/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/google/cloud:/builds/hjaekel/aports/community/google-cloud-cpp/src/google-cloud-cpp-2.30.0/build/external/googleapis  google/cloud/storage/libstorage_client_testing.so  google/cloud/testing_util/libgoogle_cloud_cpp_testing.so  google/cloud/testing_util/libgoogle_cloud_cpp_testing_grpc.so  /usr/lib/libgmock_main.so.1.15.2  /usr/lib/libgmock.so.1.15.2  /usr/lib/libgtest.so.1.15.2  /usr/lib/libcurl.so  /usr/lib/libabsl_failure_signal_handler.so.2401.0.0  google/cloud/storage/libgoogle_cloud_cpp_storage_grpc.so.2.30.0  google/cloud/storage/libgoogle_cloud_cpp_storage.so.2.30.0  /usr/lib/libcurl.so  google/cloud/libgoogle_cloud_cpp_rest_internal.so.2.30.0  /usr/lib/libcurl.so  /usr/lib/libcrc32c.so.1.1.0  google/cloud/libgoogle_cloud_cpp_grpc_utils.so.2.30.0  google/cloud/libgoogle_cloud_cpp_common.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_credentials_v1_iamcredentials_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_credentials_v1_common_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_longrunning_operations_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_rpc_status_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_rpc_error_details_protos.so.2.30.0  google/cloud/storage/libgoogle_cloud_cpp_storage_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_routing_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_v1_iam_policy_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_v1_policy_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_client_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_field_behavior_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_launch_stage_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_resource_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_iam_v1_options_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_annotations_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_api_http_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_type_date_protos.so.2.30.0  external/googleapis/libgoogle_cloud_cpp_type_expr_protos.so.2.30.0  /usr/lib/libgrpc++.so.1.62.1  /usr/lib/libprotobuf.so.24.4.0  /usr/lib/libabsl_leak_check.so.2401.0.0  /usr/lib/libabsl_die_if_null.so.2401.0.0  /usr/lib/libabsl_log_initialize.so.2401.0.0  /usr/lib/libgrpc.so.39.0.0  /usr/lib/libabsl_statusor.so.2401.0.0  /usr/lib/libssl.so  /usr/lib/libcrypto.so  /usr/lib/libupb_json_lib.so.39.0.0  /usr/lib/libupb_textformat_lib.so.39.0.0  /usr/lib/libupb_message_lib.so.39.0.0  /usr/lib/libupb_base_lib.so.39.0.0  /usr/lib/libupb_mem_lib.so.39.0.0  /usr/lib/libutf8_range_lib.so.39.0.0  /usr/lib/libre2.so.11.0.0  /usr/lib/libabsl_log_internal_check_op.so.2401.0.0  /usr/lib/libabsl_log_internal_conditions.so.2401.0.0  /usr/lib/libabsl_log_internal_message.so.2401.0.0  /usr/lib/libabsl_examine_stack.so.2401.0.0  /usr/lib/libabsl_log_internal_nullguard.so.2401.0.0  /usr/lib/libabsl_log_internal_format.so.2401.0.0  /usr/lib/libabsl_log_internal_proto.so.2401.0.0  /usr/lib/libabsl_log_internal_log_sink_set.so.2401.0.0  /usr/lib/libabsl_log_globals.so.2401.0.0  /usr/lib/libabsl_log_internal_globals.so.2401.0.0  /usr/lib/libabsl_log_sink.so.2401.0.0  /usr/lib/libabsl_log_entry.so.2401.0.0  /usr/lib/libabsl_vlog_config_internal.so.2401.0.0  /usr/lib/libabsl_log_internal_fnmatch.so.2401.0.0  /usr/lib/libicuuc.so  /usr/lib/libz.so  /usr/lib/libcares.so  /usr/lib/libgpr.so.39.0.0  /usr/lib/libabsl_flags_internal.so.2401.0.0  /usr/lib/libabsl_flags_reflection.so.2401.0.0  /usr/lib/libabsl_raw_hash_set.so.2401.0.0  /usr/lib/libabsl_hash.so.2401.0.0  /usr/lib/libabsl_bad_variant_access.so.2401.0.0  /usr/lib/libabsl_city.so.2401.0.0  /usr/lib/libabsl_low_level_hash.so.2401.0.0  /usr/lib/libabsl_hashtablez_sampler.so.2401.0.0  /usr/lib/libabsl_flags_config.so.2401.0.0  /usr/lib/libabsl_flags_program_name.so.2401.0.0  /usr/lib/libabsl_flags_private_handle_accessor.so.2401.0.0  /usr/lib/libabsl_flags_commandlineflag.so.2401.0.0  /usr/lib/libabsl_flags_commandlineflag_internal.so.2401.0.0  /usr/lib/libabsl_status.so.2401.0.0  /usr/lib/libabsl_cord.so.2401.0.0  /usr/lib/libabsl_cordz_info.so.2401.0.0  /usr/lib/libabsl_cord_internal.so.2401.0.0  /usr/lib/libabsl_cordz_functions.so.2401.0.0  /usr/lib/libabsl_exponential_biased.so.2401.0.0  /usr/lib/libabsl_cordz_handle.so.2401.0.0  /usr/lib/libabsl_crc_cord_state.so.2401.0.0  /usr/lib/libabsl_crc32c.so.2401.0.0  /usr/lib/libabsl_crc_internal.so.2401.0.0  /usr/lib/libabsl_crc_cpu_detect.so.2401.0.0  /usr/lib/libabsl_strerror.so.2401.0.0  /usr/lib/libabsl_synchronization.so.2401.0.0  /usr/lib/libabsl_symbolize.so.2401.0.0  /usr/lib/libabsl_demangle_internal.so.2401.0.0  /usr/lib/libabsl_stacktrace.so.2401.0.0  /usr/lib/libabsl_debugging_internal.so.2401.0.0  /usr/lib/libabsl_graphcycles_internal.so.2401.0.0  /usr/lib/libabsl_malloc_internal.so.2401.0.0  /usr/lib/libabsl_kernel_timeout_internal.so.2401.0.0  /usr/lib/libabsl_flags_marshalling.so.2401.0.0  /usr/lib/libabsl_str_format_internal.so.2401.0.0  /usr/lib/libabsl_random_distributions.so.2401.0.0  /usr/lib/libabsl_random_seed_sequences.so.2401.0.0  /usr/lib/libabsl_random_internal_pool_urbg.so.2401.0.0  /usr/lib/libabsl_random_internal_randen.so.2401.0.0  /usr/lib/libabsl_random_internal_randen_hwaes.so.2401.0.0  /usr/lib/libabsl_random_internal_randen_hwaes_impl.so.2401.0.0  /usr/lib/libabsl_random_internal_randen_slow.so.2401.0.0  /usr/lib/libabsl_random_internal_platform.so.2401.0.0  /usr/lib/libabsl_random_internal_seed_material.so.2401.0.0  /usr/lib/libabsl_random_seed_gen_exception.so.2401.0.0  /usr/lib/libaddress_sorting.so.39.0.0  -ldl  -lm  -lrt  /usr/lib/libabsl_bad_optional_access.so.2401.0.0  /usr/lib/libabsl_time.so.2401.0.0  /usr/lib/libabsl_strings.so.2401.0.0  /usr/lib/libabsl_strings_internal.so.2401.0.0  /usr/lib/libabsl_string_view.so.2401.0.0  /usr/lib/libabsl_throw_delegate.so.2401.0.0  /usr/lib/libabsl_base.so.2401.0.0  /usr/lib/libabsl_spinlock_wait.so.2401.0.0  /usr/lib/libabsl_raw_logging_internal.so.2401.0.0  /usr/lib/libabsl_log_severity.so.2401.0.0  /usr/lib/libabsl_int128.so.2401.0.0  /usr/lib/libabsl_civil_time.so.2401.0.0  /usr/lib/libabsl_time_zone.so.2401.0.0 && :
/usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0/../../../../aarch64-alpine-linux-musl/bin/ld: google/cloud/storage/CMakeFiles/storage_internal_async_insert_object_test.dir/internal/async/insert_object_test.cc.o: in function `google::cloud::storage_internal::v2_30::(anonymous namespace)::InsertObject_ErrorOnWrite_Test::TestBody()':
insert_object_test.cc:(.text+0xa7a4): undefined reference to `_ZN4absl12lts_202401164CordC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEETnNSt9enable_ifIXsr3std7is_sameIT_S8_EE5valueEiE4typeELi0EEEOSA_'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: subcommands failed

To Reproduce Steps to reproduce the behavior:

CC=clang CXX=clang++ \
LDFLAGS="$LDFLAGS -Wl,--copy-dt-needed-entries" \
cmake -B build -G Ninja \
	-DCMAKE_INSTALL_PREFIX=/usr \
	-DCMAKE_INSTALL_LIBDIR=lib \
	-DBUILD_SHARED_LIBS=True \
	-DCMAKE_BUILD_TYPE=None \
	-DBUILD_TESTING=ON \
	-DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \
	-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__ \
	-DGOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL=$srcdir/googleapis-69e9dff10df4fa1e338712d38dc26b46791a6e94 \
	-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux
  1. cmake --build build

Expected behavior Build is successful

Operating system: Alpine Linux Edge

What compiler and version are you using?

$ clang++ -v
Alpine clang version 19.1.2
Target: aarch64-alpine-linux-musl
Thread model: posix
InstalledDir: /usr/lib/llvm19/bin
Configuration file: /etc/clang19/aarch64-alpine-linux-musl.cfg
System configuration file directory: /etc/clang19
Found candidate GCC installation: /usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0
Selected GCC installation: /usr/lib/gcc/aarch64-alpine-linux-musl/14.2.0
Candidate multilib: .;@m64
Selected multilib: .;@m64

What version of google-cloud-cpp are you using? 2.30.0

Additional context full build log attached: job.log

@hjaekel hjaekel added priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Nov 2, 2024
@dbolduc dbolduc self-assigned this Nov 4, 2024
@dbolduc
Copy link
Member

dbolduc commented Nov 7, 2024

Hey, thanks for the detailed bug report.

Unblock

So in v2.30.0, the storage_grpc was added in __ga_libraries__. The code that is breaking (missing references to absl::Cord) comes from this new feature.

If you want to temporarily adopt google-cloud-cpp's v2.30.0 without enabling this new feature, you can use:

-DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,-storage_grpc

Then we can work on enabling the storage_grpc feature independently of the version update.

Actually fix the problem

I need your help here. I tried to reproduce this using this Dockerfile.txt.

You can test it with:

docker buildx build --progress plain -t repro - <Dockerfile.txt

I am seeing similar undefined reference errors, but earlier in the build. e.g.

#16 80.41 /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: google/cloud/libgoogle_cloud_cpp_grpc_utils.so.2.30.0: undefined reference to `_ZN4absl12lts_2024011612log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS5_'

Did you already work through these errors? If so, how? I think the fix for finding absl::Cord will be similar.

Are you using a different version of Abseil than the package that comes with Alpine Edge?

@hjaekel
Copy link
Author

hjaekel commented Nov 15, 2024

Thank you for looking at this issue. I am using Abseil that comes with Alpine Edge and I can confirm that everything compiles fine when I exclude storage_grpc with -storage_grpc as you suggested.

When I compile 2.30.0 today, I also get error earlier in the build.

I upgraded my branch now to 2.31.0. You can do exactly what I did with the following dockerfile:

FROM alpine:edge

RUN apk update && apk add alpine-sdk && abuild-keygen -na

RUN wget https://gitlab.alpinelinux.org/hjaekel/aports/-/raw/google-cloud-cpp/community/google-cloud-cpp/APKBUILD

RUN abuild -rF

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Projects
None yet
Development

No branches or pull requests

2 participants