Summary: | dev-db/mysql-8.0.32-r2: fails to build with new protobuf (connection_manager.cc:36:19: error: ‘LogHandler’ in namespace ‘google::protobuf’ does not name a type) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Calvin Buckley <calvin> |
Component: | Current packages | Assignee: | Gentoo Linux MySQL bugs team <mysql-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | calvin |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 919815 | ||
Bug Blocks: | |||
Attachments: |
build log (xz compressed)
environment |
Description
Calvin Buckley
2025-01-08 16:12:03 UTC
Created attachment 916102 [details]
build log (xz compressed)
Created attachment 916103 [details]
environment
``` d /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build/plugin/x/tests/driver && /usr/bin/powerpc64-unknown-linux-gnu-g++ -D NGS_DISABLE_LOGGING -D USE_MYSQLX_FULL_PROTO -DBOOST_NO_CXX98_FUNCTION_BASE -DHAVE_CONFIG_H -DHAVE_TLSv13 -DLOG_COMPONENT_TAG=\"mysqlx\" -DLZ4_DISABLE_DEPRECATE_WARNINGS -DRAPIDJSON_NO_SIZETYPEDEFINE -DRAPIDJSON_SCHEMA_USE_INTERNALREGEX=0 -DRAPIDJSON_SCHEMA_USE_STDREGEX=1 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_USE_MATH_DEFINES -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build/include -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/include -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build/plugin/x/protocol/protobuf -I/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver -isystem /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/extra/rapidjson/include -isystem /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/extra/libedit/libedit-20210910-3.1/src/editline -isystem /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build/plugin/x/generated -isystem /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/client -isystem /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build/plugin/x/generated/protobuf -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O2 -mcpu=power8 -mtune=power8 -pipe -std=c++17 -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -DNDEBUG -g1 -fPIE -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-unused-parameter -Wno-undef -Wno-unused-but-set-parameter -Wno-extra-semi -Wno-suggest-override -Wno-unused-but-set-parameter -MD -MT plugin/x/tests/driver/CMakeFiles/mysqlxtest.dir/connector/connection_manager.cc.o -MF CMakeFiles/mysqlxtest.dir/connector/connection_manager.cc.o.d -o CMakeFiles/mysqlxtest.dir/connector/connection_manager.cc.o -c /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:36:19: error: ‘LogHandler’ in namespace ‘google::protobuf’ does not name a type 36 | google::protobuf::LogHandler *g_lh = nullptr; | ^~~~~~~~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc: In constructor ‘Connection_manager::Connection_manager(const Connection_options&, Variable_container*, const Console&, const Console&)’: /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:3: error: ‘g_lh’ was not declared in this scope 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:28: error: ‘SetLogHandler’ is not a member of ‘google::protobuf’ 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^~~~~~~~~~~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:45: error: ‘google::protobuf::LogLevel’ has not been declared 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^~~~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc: In lambda function: /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:49:9: error: ‘g_lh’ is not captured 49 | if (g_lh) g_lh(level, filename, line, message); | ^~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:43: note: the lambda has no capture-default 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:3: note: ‘<typeprefixerror>g_lh’ declared here 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:49:15: error: ‘g_lh’ is not captured 49 | if (g_lh) g_lh(level, filename, line, message); | ^~~~ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:43: note: the lambda has no capture-default 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^ /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql/plugin/x/tests/driver/connector/connection_manager.cc:46:3: note: ‘<typeprefixerror>g_lh’ declared here 46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level, | ^~~~ make[2]: *** [plugin/x/tests/driver/CMakeFiles/mysqlxtest.dir/build.make:132: plugin/x/tests/driver/CMakeFiles/mysqlxtest.dir/connector/connection_manager.cc.o] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build' make[2]: *** Waiting for unfinished jobs.... make[2]: Entering directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build' ``` Looks like it might be related to changes in protobuf? Unfortunately, going back a version to dev-libs/protobuf-27.2 doesn't help much: [ 18%] Linking CXX executable ../../../../runtime_output_directory/xprotocol_plugin make[2]: Leaving directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build' make[2]: Entering directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build' cd /var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build/plugin/x/protocol/plugin && /usr/bin/cmake -E cmake_link_script CMakeFiles/xprotocol_plugin.dir/link.txt --verbose=1 /usr/bin/powerpc64-unknown-linux-gnu-g++ -O2 -mcpu=power8 -mtune=power8 -pipe -std=c++17 -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -DNDEBUG -g1 -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--build-id=sha1 -Wl,--no-as-needed -lpthread CMakeFiles/xprotocol_plugin.dir/message_field_chain.cc.o CMakeFiles/xprotocol_plugin.dir/messages_used_by_server.cc.o CMakeFiles/xprotocol_plugin.dir/xprotocol_plugin.cc.o -o ../../../../runtime_output_directory/xprotocol_plugin ../protobuf/libmysqlxmessages.a /usr/lib64/libprotoc.so /usr/lib64/libprotobuf.so /usr/lib/gcc/powerpc64-unknown-linux-gnu/14/../../../../powerpc64-unknown-linux-gnu/bin/ld: CMakeFiles/xprotocol_plugin.dir/message_field_chain.cc.o: undefined reference to symbol '_ZN4absl12lts_2024072213base_internal12SpinLockWaitEPSt6atomicIjEiPKNS1_22SpinLockWaitTransitionENS1_14SchedulingModeE' /usr/lib/gcc/powerpc64-unknown-linux-gnu/14/../../../../powerpc64-unknown-linux-gnu/bin/ld: /usr/lib64/libabsl_spinlock_wait.so.2407.0.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[2]: *** [plugin/x/protocol/plugin/CMakeFiles/xprotocol_plugin.dir/build.make:132: runtime_output_directory/xprotocol_plugin] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build' make[1]: *** [CMakeFiles/Makefile2:7497: plugin/x/protocol/plugin/CMakeFiles/xprotocol_plugin.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... |