Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 947721 - 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)
Summary: dev-db/mysql-8.0.32-r2: fails to build with new protobuf (connection_manager....
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC64 Linux
: Normal normal
Assignee: Gentoo Linux MySQL bugs team
URL:
Whiteboard:
Keywords:
Depends on: 919815
Blocks:
  Show dependency tree
 
Reported: 2025-01-08 16:12 UTC by Calvin Buckley
Modified: 2025-01-09 02:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (xz compressed) (build.log.xz,95.47 KB, application/x-xz)
2025-01-08 16:13 UTC, Calvin Buckley
Details
environment (environment,162.39 KB, text/plain)
2025-01-08 16:13 UTC, Calvin Buckley
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Calvin Buckley 2025-01-08 16:12:03 UTC
MySQL is failing to build from source on a ppc64 system. I had initially built MariaDB from source, and that worked fine, but needed to switch. Initially, I thought it might have been leftover deps that weren't depcleaned, but after a depclean, it still fails.

Reproducible: Always

Steps to Reproduce:
1. emerge -av dev-db/mariadb
Actual Results:  
See attached build log files (it's quite large)

Expected Results:  
successful build

# emerge --info '=dev-db/mysql-8.0.32-r2::gentoo'
Portage 3.0.66.1 (python 3.12.7-final-0, default/linux/ppc64/23.0/systemd, gcc-14, glibc-2.40-r5, 6.6.62-gentoo-ppc ppc64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.62-gentoo-ppc-ppc64-POWER8_-architected-,_altivec_supported-with-glibc2.40
KiB Mem:   131949756 total, 118732400 free
KiB Swap:  134217724 total, 134217724 free
Timestamp of repository gentoo: Sun, 22 Dec 2024 17:00:00 +0000
Head commit of repository gentoo: e0ed6567a24152a378baa9673f681ebb3ff5e88e
sh bash 5.2_p37
ld GNU ld (Gentoo 2.43 p3) 2.43.1
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.6::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.5.2::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.12.7_p1::gentoo, 3.13.1::gentoo
llvm-core/clang:           17.0.6::gentoo
llvm-core/llvm:            17.0.6-r3::gentoo, 19.1.4::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-apps/systemd:          256.7::gentoo
sys-devel/binutils:        2.43-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             14.2.1_p20241116::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

localrepo
    location: /var/db/repos/localrepo
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://gentoo.osuosl.org/releases/ppc/binpackages/23.0/ppc64

ACCEPT_KEYWORDS="ppc64"
ACCEPT_LICENSE="@FREE"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=power8 -mtune=power8 -pipe"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-O2 -mcpu=power8 -mtune=power8 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -mcpu=power8 -mtune=power8 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -mcpu=power8 -mtune=power8 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="acl big-endian bzip2 crypt gdbm ibm iconv ipv6 ncurses nls openmp pam pcre ppc64 readline seccomp ssl systemd test-rust udev unicode xattr zlib" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="fbdev mga r128 radeon dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

# emerge -pqv '=dev-db/mysql-8.0.32-r2::gentoo'
[ebuild  N    ] dev-db/mysql-8.0.32-r2  USE="perl server -cjk -cracklib -debug -jemalloc -latin1 -numa -profiling -router (-selinux) -tcmalloc -test" 

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.
Comment 1 Calvin Buckley 2025-01-08 16:13:04 UTC
Created attachment 916102 [details]
build log (xz compressed)
Comment 2 Calvin Buckley 2025-01-08 16:13:31 UTC
Created attachment 916103 [details]
environment
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-08 20:22:11 UTC
```
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'
```
Comment 4 Calvin Buckley 2025-01-09 02:25:48 UTC
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....