Skip to content

gRPC: add fixes to enable building on SUSE#2250

Merged
BareosBot merged 5 commits intobareos:masterfrom
bruno-at-bareos:dev/bruno/master/fix-gRPC-on-SUSE
Jun 10, 2025
Merged

gRPC: add fixes to enable building on SUSE#2250
BareosBot merged 5 commits intobareos:masterfrom
bruno-at-bareos:dev/bruno/master/fix-gRPC-on-SUSE

Conversation

@bruno-at-bareos
Copy link
Contributor

@bruno-at-bareos bruno-at-bareos commented Apr 17, 2025

Fix issue #2239 to provide gRPC build for SUSE platform (maybe others)

  • add fixes for bareos/internal#275 debian buildrequiremet

Thank you for contributing to the Bareos Project!

Please check

  • Short description and the purpose of this PR is present above this paragraph
  • Your name is present in the AUTHORS file (optional)

If you have any questions or problems, please give a comment in the PR.

Helpful documentation and best practices

Checklist for the reviewer of the PR (will be processed by the Bareos team)

Make sure you check/merge the PR using devtools/pr-tool to have some simple automated checks run and a proper changelog record added.

General
  • Is the PR title usable as CHANGELOG entry?
  • Purpose of the PR is understood
  • Commit descriptions are understandable and well formatted
  • Required backport PRs have been created
  • Correct milestone is set
Source code quality
  • Source code changes are understandable
  • Variable and function names are meaningful
  • Code comments are correct (logically and spelling)
  • Required documentation changes are present and part of the PR

@bruno-at-bareos
Copy link
Contributor Author

bruno-at-bareos commented Apr 24, 2025

I've seen several build errors when gcc13 is in use

/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/grpc-proto.dir/proto/plugin.pb.cc.o: undefined reference to symbol '_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIPKvS4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc'
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libabsl_log_internal_check_op.so.2401.0.0: error adding symbols: DSO missing from command line

or with gcc14

[ 43%] Linking CXX executable bareos-grpc-fd-plugin-bridge
cd /home/build/bareos/cmake-build/core/src/plugins/filed/grpc && /usr/bin/cmake -E cmake_link_script CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/link.txt --verbose=1
/usr/bin/g++-14 -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fdebug-prefix-map=/home/build/bareos=/usr/src/bareos -fmacro-prefix-map=/home/build/bareos=/usr/src/bareos -Wsuggest-override -Wformat -Werror=format-security -Wno-invalid-offsetof -Werror -Wall -Wextra -Wshadow -Wl,--as-needed -fPIE -pie "CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/bridge_module/bridge_module.cc.o" "CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/bridge_module/plugin_service.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.grpc.pb.cc.o" -o bareos-grpc-fd-plugin-bridge  -Wl,-rpath,::::::::::::::::: /usr/lib64/libfmt.so.8.0.1 -Wl,--as-needed /usr/lib64/libgrpc++_reflection.so.1.60.0 /usr/lib64/libgrpc++.so.1.60.0 /usr/lib64/libgrpc.so.37.0.0 /usr/lib64/libupb_collections_lib.so.37.0.0 /usr/lib64/libupb_json_lib.so.37.0.0 /usr/lib64/libupb_textformat_lib.so.37.0.0 /usr/lib64/libutf8_range_lib.so.37.0.0 /usr/lib64/libupb.so.37.0.0 /usr/lib64/libre2.so.11.0.0 /usr/lib64/libicuuc.so /usr/lib64/libz.so /usr/lib64/libabsl_statusor.so.2401.0.0 /usr/lib64/libcares.so.2.6.1 /usr/lib64/libgpr.so.37.0.0 /usr/lib64/libabsl_flags_internal.so.2401.0.0 /usr/lib64/libabsl_flags_reflection.so.2401.0.0 /usr/lib64/libabsl_raw_hash_set.so.2401.0.0 /usr/lib64/libabsl_hash.so.2401.0.0 /usr/lib64/libabsl_city.so.2401.0.0 /usr/lib64/libabsl_low_level_hash.so.2401.0.0 /usr/lib64/libabsl_hashtablez_sampler.so.2401.0.0 /usr/lib64/libabsl_flags_config.so.2401.0.0 /usr/lib64/libabsl_flags_program_name.so.2401.0.0 /usr/lib64/libabsl_flags_private_handle_accessor.so.2401.0.0 /usr/lib64/libabsl_flags_commandlineflag.so.2401.0.0 /usr/lib64/libabsl_flags_commandlineflag_internal.so.2401.0.0 /usr/lib64/libabsl_bad_variant_access.so.2401.0.0 /usr/lib64/libabsl_status.so.2401.0.0 /usr/lib64/libabsl_strerror.so.2401.0.0 /usr/lib64/libabsl_flags_marshalling.so.2401.0.0 /usr/lib64/libabsl_random_distributions.so.2401.0.0 /usr/lib64/libabsl_random_seed_sequences.so.2401.0.0 /usr/lib64/libabsl_random_internal_pool_urbg.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes_impl.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen_slow.so.2401.0.0 /usr/lib64/libabsl_random_internal_platform.so.2401.0.0 /usr/lib64/libabsl_random_internal_seed_material.so.2401.0.0 /usr/lib64/libabsl_random_seed_gen_exception.so.2401.0.0 /usr/lib64/libabsl_cord.so.2401.0.0 /usr/lib64/libabsl_bad_optional_access.so.2401.0.0 /usr/lib64/libabsl_cordz_info.so.2401.0.0 /usr/lib64/libabsl_cord_internal.so.2401.0.0 /usr/lib64/libabsl_cordz_functions.so.2401.0.0 /usr/lib64/libabsl_exponential_biased.so.2401.0.0 /usr/lib64/libabsl_cordz_handle.so.2401.0.0 /usr/lib64/libabsl_synchronization.so.2401.0.0 /usr/lib64/libabsl_graphcycles_internal.so.2401.0.0 /usr/lib64/libabsl_kernel_timeout_internal.so.2401.0.0 /usr/lib64/libabsl_stacktrace.so.2401.0.0 /usr/lib64/libabsl_symbolize.so.2401.0.0 /usr/lib64/libabsl_malloc_internal.so.2401.0.0 /usr/lib64/libabsl_debugging_internal.so.2401.0.0 /usr/lib64/libabsl_demangle_internal.so.2401.0.0 /usr/lib64/libabsl_crc_cord_state.so.2401.0.0 /usr/lib64/libabsl_crc32c.so.2401.0.0 /usr/lib64/libabsl_str_format_internal.so.2401.0.0 /usr/lib64/libabsl_crc_internal.so.2401.0.0 /usr/lib64/libabsl_crc_cpu_detect.so.2401.0.0 /usr/lib64/libabsl_time.so.2401.0.0 /usr/lib64/libabsl_strings.so.2401.0.0 /usr/lib64/libabsl_strings_internal.so.2401.0.0 /usr/lib64/libabsl_string_view.so.2401.0.0 /usr/lib64/libabsl_base.so.2401.0.0 /usr/lib64/libabsl_spinlock_wait.so.2401.0.0 /usr/lib64/libabsl_throw_delegate.so.2401.0.0 /usr/lib64/libabsl_int128.so.2401.0.0 /usr/lib64/libabsl_raw_logging_internal.so.2401.0.0 /usr/lib64/libabsl_log_severity.so.2401.0.0 /usr/lib64/libabsl_civil_time.so.2401.0.0 /usr/lib64/libabsl_time_zone.so.2401.0.0 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libaddress_sorting.so.37.0.0 -ldl -lm -lrt /usr/lib64/libprotobuf.so
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/grpc-proto.dir/proto/plugin.pb.cc.o: undefined reference to symbol '_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIPKvS4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc'
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libabsl_log_internal_check_op.so.2401.0.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [core/src/plugins/filed/grpc/CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/build.make:209: core/src/plugins/filed/grpc/bareos-grpc-fd-plugin-bridge] Error 1
make[2]: Leaving directory '/home/build/bareos/cmake-build'
make[1]: *** [CMakeFiles/Makefile2:7175: core/src/plugins/filed/grpc/CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/all] Error 2
make[2]: Entering directory '/home/build/bareos/cmake-build'

@bruno-at-bareos
Copy link
Contributor Author

But on Tumbleweed (More recent abseil, protobuf, grpc) There's no problems

[100%] Linking CXX executable bareos-grpc-fd-plugin-bridge
cd /ioda/bareos/git/build/test/core/src/plugins/filed/grpc && /usr/bin/cmake -E cmake_link_script CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/link.txt --verbose=1
/usr/bin/g++-14  -fdebug-prefix-map=/ioda/bareos/git/b-at-bareos=/usr/src/bareos -fmacro-prefix-map=/ioda/bareos/git/b-at-bareos=/usr/src/bareos -fsanitize=undefined -fsanitize=address -fno-sanitize-recover -Wsuggest-override -Wformat -Werror=format-security -Wno-invalid-offsetof -Werror -Wall -Wextra -Wshadow -Wl,--as-needed -fPIE -pie -Wl,--dependency-file=CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/link.d "CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/bridge_module/bridge_module.cc.o" "CMakeFiles/bareos-grpc-fd-plugin-bridge.dir/bridge_module/plugin_service.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.grpc.pb.cc.o" -o bareos-grpc-fd-plugin-bridge  -Wl,-rpath,::::::::::::::::::::::: /usr/lib64/libfmt.so.11.1.4 /usr/lib64/libgrpc++_reflection.so.1.71.0 /usr/lib64/libgrpc++.so.1.71.0 /usr/lib64/libgrpc.so.46.0.0 /usr/lib64/libupb_json_lib.so.46.0.0 /usr/lib64/libupb_textformat_lib.so.46.0.0 /usr/lib64/libupb_mini_descriptor_lib.so.46.0.0 /usr/lib64/libupb_wire_lib.so.46.0.0 /usr/lib64/libutf8_range_lib.so.46.0.0 /usr/lib64/libupb_message_lib.so.46.0.0 /usr/lib64/libupb_base_lib.so.46.0.0 /usr/lib64/libupb_mem_lib.so.46.0.0 /usr/lib64/libre2.so.11.0.0 /usr/lib64/libicuuc.so /usr/lib64/libz.so /usr/lib64/libabsl_statusor.so.2501.0.0 /usr/lib64/libcares.so.2.19.4 /usr/lib64/libgpr.so.46.0.0 /usr/lib64/libabsl_flags_internal.so.2501.0.0 /usr/lib64/libabsl_flags_reflection.so.2501.0.0 /usr/lib64/libabsl_raw_hash_set.so.2501.0.0 /usr/lib64/libabsl_hashtablez_sampler.so.2501.0.0 /usr/lib64/libabsl_flags_config.so.2501.0.0 /usr/lib64/libabsl_flags_program_name.so.2501.0.0 /usr/lib64/libabsl_flags_private_handle_accessor.so.2501.0.0 /usr/lib64/libabsl_flags_commandlineflag.so.2501.0.0 /usr/lib64/libabsl_flags_commandlineflag_internal.so.2501.0.0 /usr/lib64/libabsl_status.so.2501.0.0 /usr/lib64/libabsl_flags_marshalling.so.2501.0.0 /usr/lib64/libabsl_log_internal_check_op.so.2501.0.0 /usr/lib64/libabsl_leak_check.so.2501.0.0 /usr/lib64/libabsl_log_internal_conditions.so.2501.0.0 /usr/lib64/libabsl_log_internal_message.so.2501.0.0 /usr/lib64/libabsl_log_internal_nullguard.so.2501.0.0 /usr/lib64/libabsl_examine_stack.so.2501.0.0 /usr/lib64/libabsl_log_internal_format.so.2501.0.0 /usr/lib64/libabsl_log_internal_structured_proto.so.2501.0.0 /usr/lib64/libabsl_log_internal_proto.so.2501.0.0 /usr/lib64/libabsl_log_internal_log_sink_set.so.2501.0.0 /usr/lib64/libabsl_log_globals.so.2501.0.0 /usr/lib64/libabsl_hash.so.2501.0.0 /usr/lib64/libabsl_city.so.2501.0.0 /usr/lib64/libabsl_bad_variant_access.so.2501.0.0 /usr/lib64/libabsl_low_level_hash.so.2501.0.0 /usr/lib64/libabsl_log_internal_globals.so.2501.0.0 /usr/lib64/libabsl_log_sink.so.2501.0.0 /usr/lib64/libabsl_log_entry.so.2501.0.0 /usr/lib64/libabsl_strerror.so.2501.0.0 /usr/lib64/libabsl_vlog_config_internal.so.2501.0.0 /usr/lib64/libabsl_log_internal_fnmatch.so.2501.0.0 /usr/lib64/libabsl_random_distributions.so.2501.0.0 /usr/lib64/libabsl_random_seed_sequences.so.2501.0.0 /usr/lib64/libabsl_random_internal_pool_urbg.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes_impl.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen_slow.so.2501.0.0 /usr/lib64/libabsl_random_internal_platform.so.2501.0.0 /usr/lib64/libabsl_random_internal_seed_material.so.2501.0.0 /usr/lib64/libabsl_random_seed_gen_exception.so.2501.0.0 /usr/lib64/libabsl_cord.so.2501.0.0 /usr/lib64/libabsl_cordz_info.so.2501.0.0 /usr/lib64/libabsl_cord_internal.so.2501.0.0 /usr/lib64/libabsl_cordz_functions.so.2501.0.0 /usr/lib64/libabsl_exponential_biased.so.2501.0.0 /usr/lib64/libabsl_cordz_handle.so.2501.0.0 /usr/lib64/libabsl_synchronization.so.2501.0.0 /usr/lib64/libabsl_graphcycles_internal.so.2501.0.0 /usr/lib64/libabsl_kernel_timeout_internal.so.2501.0.0 /usr/lib64/libabsl_stacktrace.so.2501.0.0 /usr/lib64/libabsl_symbolize.so.2501.0.0 /usr/lib64/libabsl_malloc_internal.so.2501.0.0 /usr/lib64/libabsl_debugging_internal.so.2501.0.0 /usr/lib64/libabsl_demangle_internal.so.2501.0.0 /usr/lib64/libabsl_demangle_rust.so.2501.0.0 /usr/lib64/libabsl_decode_rust_punycode.so.2501.0.0 /usr/lib64/libabsl_utf8_for_code_point.so.2501.0.0 /usr/lib64/libabsl_tracing_internal.so.2501.0.0 /usr/lib64/libabsl_crc_cord_state.so.2501.0.0 /usr/lib64/libabsl_crc32c.so.2501.0.0 /usr/lib64/libabsl_str_format_internal.so.2501.0.0 /usr/lib64/libabsl_crc_internal.so.2501.0.0 /usr/lib64/libabsl_crc_cpu_detect.so.2501.0.0 /usr/lib64/libabsl_bad_optional_access.so.2501.0.0 /usr/lib64/libabsl_time.so.2501.0.0 /usr/lib64/libabsl_strings.so.2501.0.0 /usr/lib64/libabsl_strings_internal.so.2501.0.0 /usr/lib64/libabsl_string_view.so.2501.0.0 /usr/lib64/libabsl_base.so.2501.0.0 /usr/lib64/libabsl_spinlock_wait.so.2501.0.0 /usr/lib64/libabsl_throw_delegate.so.2501.0.0 /usr/lib64/libabsl_int128.so.2501.0.0 /usr/lib64/libabsl_raw_logging_internal.so.2501.0.0 /usr/lib64/libabsl_log_severity.so.2501.0.0 /usr/lib64/libabsl_civil_time.so.2501.0.0 /usr/lib64/libabsl_time_zone.so.2501.0.0 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libaddress_sorting.so.46.0.0 -ldl -lm -lrt /usr/lib64/libprotobuf.so

@bruno-at-bareos
Copy link
Contributor Author

@sebsura with c923d7d I'm still getting errors.
and I wonder why I don't see the message from FindAbsl.cmake ?

On tumbleweed with recent software stack Protobuf/gRPC/Abseil the build is ok (once upb is fixed) and the abseil dep on libabsl_log_internal_check_op is resolved correctly

[ 86%] Linking CXX shared module ../grpc-fd.so
cd /ioda/bareos/git/build/tests/core/src/plugins/filed/grpc && /usr/bin/cmake -E cmake_link_script CMakeFiles/grpc-fd.dir/link.txt --verbose=1
/usr/bin/g++-14 -fPIC  -fdebug-prefix-map=/ioda/bareos/git/b-at-bareos=/usr/src/bareos -fmacro-prefix-map=/ioda/bareos/git/b-at-bareos=/usr/src/bareos -fsanitize=undefined -fsanitize=address -fno-sanitize-recover -Wsuggest-override -Wformat -Werror=format-security -Wno-invalid-offsetof -Werror -Wall -Wextra -Wshadow -Wl,--as-needed -Wl,--dependency-file=CMakeFiles/grpc-fd.dir/link.d -shared  -o ../grpc-fd.so "CMakeFiles/grpc-fd.dir/grpc.cc.o" "CMakeFiles/grpc-fd.dir/grpc_impl.cc.o" "CMakeFiles/grpc-fd.dir/bareos_api.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.grpc.pb.cc.o"  -Wl,-rpath,/ioda/bareos/git/build/tests/core/src/lib:/ioda/bareos/git/build/tests/core/src/fastlz: ../../../lib/libbareos.so.25.0.0 /usr/lib64/libfmt.so.11.1.4 /usr/lib64/libjansson.so /usr/lib64/libgrpc++_reflection.so.1.71.0 /usr/lib64/libgrpc++.so.1.71.0 /usr/lib64/libgrpc.so.46.0.0 /usr/lib64/libupb_json_lib.so.46.0.0 /usr/lib64/libupb_textformat_lib.so.46.0.0 /usr/lib64/libupb_mini_descriptor_lib.so.46.0.0 /usr/lib64/libupb_wire_lib.so.46.0.0 /usr/lib64/libutf8_range_lib.so.46.0.0 /usr/lib64/libupb_message_lib.so.46.0.0 /usr/lib64/libupb_base_lib.so.46.0.0 /usr/lib64/libupb_mem_lib.so.46.0.0 /usr/lib64/libre2.so.11.0.0 /usr/lib64/libicuuc.so /usr/lib64/libz.so /usr/lib64/libabsl_statusor.so.2501.0.0 /usr/lib64/libcares.so.2.19.4 /usr/lib64/libgpr.so.46.0.0 /usr/lib64/libabsl_flags_internal.so.2501.0.0 /usr/lib64/libabsl_flags_reflection.so.2501.0.0 /usr/lib64/libabsl_raw_hash_set.so.2501.0.0 /usr/lib64/libabsl_hashtablez_sampler.so.2501.0.0 /usr/lib64/libabsl_flags_config.so.2501.0.0 /usr/lib64/libabsl_flags_program_name.so.2501.0.0 /usr/lib64/libabsl_flags_private_handle_accessor.so.2501.0.0 /usr/lib64/libabsl_flags_commandlineflag.so.2501.0.0 /usr/lib64/libabsl_flags_commandlineflag_internal.so.2501.0.0 /usr/lib64/libabsl_status.so.2501.0.0 /usr/lib64/libabsl_flags_marshalling.so.2501.0.0 /usr/lib64/libabsl_log_internal_check_op.so.2501.0.0 /usr/lib64/libabsl_leak_check.so.2501.0.0 /usr/lib64/libabsl_log_internal_conditions.so.2501.0.0 /usr/lib64/libabsl_log_internal_message.so.2501.0.0 /usr/lib64/libabsl_log_internal_nullguard.so.2501.0.0 /usr/lib64/libabsl_examine_stack.so.2501.0.0 /usr/lib64/libabsl_log_internal_format.so.2501.0.0 /usr/lib64/libabsl_log_internal_structured_proto.so.2501.0.0 /usr/lib64/libabsl_log_internal_proto.so.2501.0.0 /usr/lib64/libabsl_log_internal_log_sink_set.so.2501.0.0 /usr/lib64/libabsl_log_globals.so.2501.0.0 /usr/lib64/libabsl_hash.so.2501.0.0 /usr/lib64/libabsl_city.so.2501.0.0 /usr/lib64/libabsl_bad_variant_access.so.2501.0.0 /usr/lib64/libabsl_low_level_hash.so.2501.0.0 /usr/lib64/libabsl_log_internal_globals.so.2501.0.0 /usr/lib64/libabsl_log_sink.so.2501.0.0 /usr/lib64/libabsl_log_entry.so.2501.0.0 /usr/lib64/libabsl_strerror.so.2501.0.0 /usr/lib64/libabsl_vlog_config_internal.so.2501.0.0 /usr/lib64/libabsl_log_internal_fnmatch.so.2501.0.0 /usr/lib64/libabsl_random_distributions.so.2501.0.0 /usr/lib64/libabsl_random_seed_sequences.so.2501.0.0 /usr/lib64/libabsl_random_internal_pool_urbg.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes_impl.so.2501.0.0 /usr/lib64/libabsl_random_internal_randen_slow.so.2501.0.0 /usr/lib64/libabsl_random_internal_platform.so.2501.0.0 /usr/lib64/libabsl_random_internal_seed_material.so.2501.0.0 /usr/lib64/libabsl_random_seed_gen_exception.so.2501.0.0 /usr/lib64/libabsl_cord.so.2501.0.0 /usr/lib64/libabsl_cordz_info.so.2501.0.0 /usr/lib64/libabsl_cord_internal.so.2501.0.0 /usr/lib64/libabsl_cordz_functions.so.2501.0.0 /usr/lib64/libabsl_exponential_biased.so.2501.0.0 /usr/lib64/libabsl_cordz_handle.so.2501.0.0 /usr/lib64/libabsl_synchronization.so.2501.0.0 /usr/lib64/libabsl_graphcycles_internal.so.2501.0.0 /usr/lib64/libabsl_kernel_timeout_internal.so.2501.0.0 /usr/lib64/libabsl_stacktrace.so.2501.0.0 /usr/lib64/libabsl_symbolize.so.2501.0.0 /usr/lib64/libabsl_malloc_internal.so.2501.0.0 /usr/lib64/libabsl_debugging_internal.so.2501.0.0 /usr/lib64/libabsl_demangle_internal.so.2501.0.0 /usr/lib64/libabsl_demangle_rust.so.2501.0.0 /usr/lib64/libabsl_decode_rust_punycode.so.2501.0.0 /usr/lib64/libabsl_utf8_for_code_point.so.2501.0.0 /usr/lib64/libabsl_tracing_internal.so.2501.0.0 /usr/lib64/libabsl_crc_cord_state.so.2501.0.0 /usr/lib64/libabsl_crc32c.so.2501.0.0 /usr/lib64/libabsl_str_format_internal.so.2501.0.0 /usr/lib64/libabsl_crc_internal.so.2501.0.0 /usr/lib64/libabsl_crc_cpu_detect.so.2501.0.0 /usr/lib64/libabsl_bad_optional_access.so.2501.0.0 /usr/lib64/libabsl_time.so.2501.0.0 /usr/lib64/libabsl_strings.so.2501.0.0 /usr/lib64/libabsl_strings_internal.so.2501.0.0 /usr/lib64/libabsl_string_view.so.2501.0.0 /usr/lib64/libabsl_base.so.2501.0.0 /usr/lib64/libabsl_spinlock_wait.so.2501.0.0 /usr/lib64/libabsl_throw_delegate.so.2501.0.0 /usr/lib64/libabsl_int128.so.2501.0.0 /usr/lib64/libabsl_raw_logging_internal.so.2501.0.0 /usr/lib64/libabsl_log_severity.so.2501.0.0 /usr/lib64/libabsl_civil_time.so.2501.0.0 /usr/lib64/libabsl_time_zone.so.2501.0.0 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libaddress_sorting.so.46.0.0 -ldl -lm -lrt /usr/lib64/libprotobuf.so -Wl,-rpath-link,/ioda/bareos/git/build/tests/core/src/fastlz

While on Leap 15.6 with version

zypper se -si abseil libabsl grpc protobuf
Loading repository data...
Reading installed packages...

S  | Name                   | Type    | Version                | Arch   | Repository
---+------------------------+---------+------------------------+--------+-------------------------------------------------------------
i  | abseil-cpp-devel       | package | 20240116.1-150600.17.7 | x86_64 | Main Repository
i+ | grpc-devel             | package | 1.60.0-150600.15.3.1   | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i+ | grpcurl                | package | 1.9.3-1                | x86_64 | (System Packages)
i  | libabsl2401_0_0        | package | 20240116.1-150600.17.7 | x86_64 | Main Repository
i  | libgrpc++1_60          | package | 1.60.0-150600.15.3.1   | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i  | libgrpc1_60            | package | 1.60.0-150600.15.3.1   | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i  | libgrpc37              | package | 1.60.0-150600.15.3.1   | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i  | libprotobuf-lite25_1_0 | package | 25.1-150600.16.10.1    | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i  | libprotobuf25_1_0      | package | 25.1-150600.16.10.1    | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i+ | protobuf-devel         | package | 25.1-150600.16.10.1    | x86_64 | Update repository with updates from SUSE Linux Enterprise 15

The lib is not present during the ld phase

[100%] Linking CXX executable grpc-test-module
cd /ioda/bareos/git/build/leap156/core/src/plugins/filed/grpc && /usr/bin/cmake -E cmake_link_script CMakeFiles/grpc-test-module.dir/link.txt --verbose=1
/usr/bin/g++-13  -fdebug-prefix-map=/ioda/bareos/git/b-at-bareos=/usr/src/bareos -fmacro-prefix-map=/ioda/bareos/git/b-at-bareos=/usr/src/bareos -fsanitize=undefined -fsanitize=address -fno-sanitize-recover -Wsuggest-override -Wformat -Werror=format-security -Wno-invalid-offsetof -Werror -Wall -Wextra -Wshadow -Wl,--as-needed -fPIE -pie "CMakeFiles/grpc-test-module.dir/test_module/test_module.cc.o" "CMakeFiles/grpc-test-module.dir/test_module/plugin_service.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/plugin.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/events.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/bareos.grpc.pb.cc.o" "CMakeFiles/grpc-proto.dir/proto/common.grpc.pb.cc.o" -o grpc-test-module  -Wl,-rpath,::::::::::::::::::::::: /usr/lib64/libfmt.so.8.0.1 -Wl,--as-needed /usr/lib64/libgrpc++_reflection.so.1.60.0 /usr/lib64/libgrpc++.so.1.60.0 /usr/lib64/libgrpc.so.37.0.0 /usr/lib64/libupb_collections_lib.so.37.0.0 /usr/lib64/libupb_json_lib.so.37.0.0 /usr/lib64/libupb_textformat_lib.so.37.0.0 /usr/lib64/libutf8_range_lib.so.37.0.0 /usr/lib64/libupb.so.37.0.0 /usr/lib64/libre2.so.11.0.0 /usr/lib64/libicuuc.so /usr/lib64/libz.so /usr/lib64/libabsl_statusor.so.2401.0.0 /usr/lib64/libcares.so.2.6.1 /usr/lib64/libgpr.so.37.0.0 /usr/lib64/libabsl_flags_internal.so.2401.0.0 /usr/lib64/libabsl_flags_reflection.so.2401.0.0 /usr/lib64/libabsl_raw_hash_set.so.2401.0.0 /usr/lib64/libabsl_hash.so.2401.0.0 /usr/lib64/libabsl_city.so.2401.0.0 /usr/lib64/libabsl_low_level_hash.so.2401.0.0 /usr/lib64/libabsl_hashtablez_sampler.so.2401.0.0 /usr/lib64/libabsl_flags_config.so.2401.0.0 /usr/lib64/libabsl_flags_program_name.so.2401.0.0 /usr/lib64/libabsl_flags_private_handle_accessor.so.2401.0.0 /usr/lib64/libabsl_flags_commandlineflag.so.2401.0.0 /usr/lib64/libabsl_flags_commandlineflag_internal.so.2401.0.0 /usr/lib64/libabsl_bad_variant_access.so.2401.0.0 /usr/lib64/libabsl_status.so.2401.0.0 /usr/lib64/libabsl_strerror.so.2401.0.0 /usr/lib64/libabsl_flags_marshalling.so.2401.0.0 /usr/lib64/libabsl_random_distributions.so.2401.0.0 /usr/lib64/libabsl_random_seed_sequences.so.2401.0.0 /usr/lib64/libabsl_random_internal_pool_urbg.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen_hwaes_impl.so.2401.0.0 /usr/lib64/libabsl_random_internal_randen_slow.so.2401.0.0 /usr/lib64/libabsl_random_internal_platform.so.2401.0.0 /usr/lib64/libabsl_random_internal_seed_material.so.2401.0.0 /usr/lib64/libabsl_random_seed_gen_exception.so.2401.0.0 /usr/lib64/libabsl_cord.so.2401.0.0 /usr/lib64/libabsl_bad_optional_access.so.2401.0.0 /usr/lib64/libabsl_cordz_info.so.2401.0.0 /usr/lib64/libabsl_cord_internal.so.2401.0.0 /usr/lib64/libabsl_cordz_functions.so.2401.0.0 /usr/lib64/libabsl_exponential_biased.so.2401.0.0 /usr/lib64/libabsl_cordz_handle.so.2401.0.0 /usr/lib64/libabsl_synchronization.so.2401.0.0 /usr/lib64/libabsl_graphcycles_internal.so.2401.0.0 /usr/lib64/libabsl_kernel_timeout_internal.so.2401.0.0 /usr/lib64/libabsl_stacktrace.so.2401.0.0 /usr/lib64/libabsl_symbolize.so.2401.0.0 /usr/lib64/libabsl_malloc_internal.so.2401.0.0 /usr/lib64/libabsl_debugging_internal.so.2401.0.0 /usr/lib64/libabsl_demangle_internal.so.2401.0.0 /usr/lib64/libabsl_crc_cord_state.so.2401.0.0 /usr/lib64/libabsl_crc32c.so.2401.0.0 /usr/lib64/libabsl_str_format_internal.so.2401.0.0 /usr/lib64/libabsl_crc_internal.so.2401.0.0 /usr/lib64/libabsl_crc_cpu_detect.so.2401.0.0 /usr/lib64/libabsl_time.so.2401.0.0 /usr/lib64/libabsl_strings.so.2401.0.0 /usr/lib64/libabsl_strings_internal.so.2401.0.0 /usr/lib64/libabsl_string_view.so.2401.0.0 /usr/lib64/libabsl_base.so.2401.0.0 /usr/lib64/libabsl_spinlock_wait.so.2401.0.0 /usr/lib64/libabsl_throw_delegate.so.2401.0.0 /usr/lib64/libabsl_int128.so.2401.0.0 /usr/lib64/libabsl_raw_logging_internal.so.2401.0.0 /usr/lib64/libabsl_log_severity.so.2401.0.0 /usr/lib64/libabsl_civil_time.so.2401.0.0 /usr/lib64/libabsl_time_zone.so.2401.0.0 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libaddress_sorting.so.37.0.0 -ldl -lm -lrt /usr/lib64/libprotobuf.so
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/grpc-test-module.dir/test_module/test_module.cc.o: undefined reference to symbol '_ZN4absl12lts_2024011612log_internal21CheckOpMessageBuilderC1EPKc'
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libabsl_log_internal_check_op.so.2401.0.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [core/src/plugins/filed/grpc/CMakeFiles/grpc-test-module.dir/build.make:209: core/src/plugins/filed/grpc/grpc-test-module] Error 1
make[2]: Leaving directory '/ioda/bareos/git/build/leap156'
make[1]: *** [CMakeFiles/Makefile2:7074: core/src/plugins/filed/grpc/CMakeFiles/grpc-test-module.dir/all] Error 2
make[1]: Leaving directory '/ioda/bareos/git/build/leap156'
make: *** [Makefile:169: all] Error 2

@arogge arogge changed the title gRPC: add fixes for protobuf/libupd upstream bound gRPC: add fixes for protobuf/libupb upstream bound May 6, 2025
@bruno-at-bareos bruno-at-bareos force-pushed the dev/bruno/master/fix-gRPC-on-SUSE branch 2 times, most recently from 9c4221e to 081812c Compare May 8, 2025 11:33
@bruno-at-bareos bruno-at-bareos changed the title gRPC: add fixes for protobuf/libupb upstream bound gRPC: add fixes for enabling on SUSE May 8, 2025
@bruno-at-bareos bruno-at-bareos force-pushed the dev/bruno/master/fix-gRPC-on-SUSE branch from 69fb863 to 4615ffe Compare May 13, 2025 09:31
@bruno-at-bareos bruno-at-bareos requested a review from arogge May 13, 2025 09:45
@bruno-at-bareos bruno-at-bareos force-pushed the dev/bruno/master/fix-gRPC-on-SUSE branch from 4615ffe to 6d6fffd Compare May 21, 2025 09:26
@arogge arogge force-pushed the dev/bruno/master/fix-gRPC-on-SUSE branch from 6d6fffd to 2353a37 Compare June 10, 2025 14:21
Copy link
Member

@arogge arogge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good. Thank you!

@arogge arogge changed the title gRPC: add fixes for enabling on SUSE gRPC: add fixes to enable on SUSE Jun 10, 2025
@arogge arogge changed the title gRPC: add fixes to enable on SUSE gRPC: add fixes to enable building on SUSE Jun 10, 2025
bruno-at-bareos and others added 5 commits June 10, 2025 15:58
add grpc related package to SUSE pkglists
- fix issue bareos/internal#275
- libprotobuf-dev buildep to grpc plugin so it is only
  build on available platform

Signed-off-by: Bruno Friedmann <bruno.friedmann@bareos.com>
Signed-off-by: Bruno Friedmann <bruno.friedmann@bareos.com>
@BareosBot BareosBot force-pushed the dev/bruno/master/fix-gRPC-on-SUSE branch from e45d627 to fc8644f Compare June 10, 2025 15:58
@BareosBot BareosBot merged commit dacb126 into bareos:master Jun 10, 2025
@bruno-at-bareos bruno-at-bareos deleted the dev/bruno/master/fix-gRPC-on-SUSE branch November 26, 2025 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build and provide gRPC packages for SUSE 15

3 participants