Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 934189 - dev-db/mysql-8.0.32-r2 fail to build with dev-libs/protobuf-22.5-r1: undefined symbol: absl::lts_20230125::base_internal::SpinLockWait
Summary: dev-db/mysql-8.0.32-r2 fail to build with dev-libs/protobuf-22.5-r1: undefine...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux MySQL bugs team
URL:
Whiteboard:
Keywords:
Depends on: 919815
Blocks:
  Show dependency tree
 
Reported: 2024-06-13 07:47 UTC by Petr Novak
Modified: 2024-06-14 16:51 UTC (History)
10 users (show)

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


Attachments
/var/tmp/portage/dev-db/mysql-8.0.32-r2/temp/environment (environment,160.37 KB, text/plain)
2024-06-13 07:49 UTC, Petr Novak
Details
/var/tmp/portage/dev-db/mysql-8.0.32-r2/temp/build.log (build.log,867.94 KB, text/x-log)
2024-06-13 07:49 UTC, Petr Novak
Details
jayf-build-failure (mysql-8.0.32-r2-failure-build.log,755.49 KB, text/plain)
2024-06-13 23:16 UTC, Jay Faulkner
Details
jayf-emerge-info (emergeinfo.txt,9.72 KB, text/plain)
2024-06-13 23:17 UTC, Jay Faulkner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Novak 2024-06-13 07:47:24 UTC
After upgrading dev-libs/protobuf-21.12 to dev-libs/protobuf-22.5-r1, dev-db/mysql-8.0.32-r2 fail to build with the following error. This does not happen with dev-libs/protobuf-21.12. Rebuilding abseil-cpp did not help.

Reproducible: Always

Steps to Reproduce:
1. emerge mysql

Actual Results:  
[ 22%] Linking CXX executable ../../../../runtime_output_directory/xprotocol_plugin
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/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -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  -fuse-ld=lld -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -fuse-ld=lld  -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 
ld.lld: error: undefined symbol: absl::lts_20230125::base_internal::SpinLockWait(std::atomic<unsigned int>*, int, absl::lts_20230125::base_internal::SpinLockWaitTransition const*, absl::lts_20230125::base_internal::SchedulingMode)
>>> referenced by call_once.h:176 (/usr/include/absl/base/call_once.h:176)
>>>               CMakeFiles/xprotocol_plugin.dir/message_field_chain.cc.o:(void absl::lts_20230125::base_internal::CallOnceImpl<void (*)(google::protobuf::FieldDescriptor const*), google::protobuf::FieldDescriptor const*>(std::atomic<unsigned int>*, absl::lts_20230125::base_internal::SchedulingMode, void (*&&)(google::protobuf::FieldDescriptor const*), google::protobuf::FieldDescriptor const*&&))

ld.lld: error: undefined symbol: AbslInternalSpinLockWake_lts_20230125
>>> referenced by spinlock_wait.h:85 (/usr/include/absl/base/internal/spinlock_wait.h:85)
>>>               CMakeFiles/xprotocol_plugin.dir/message_field_chain.cc.o:(void absl::lts_20230125::base_internal::CallOnceImpl<void (*)(google::protobuf::FieldDescriptor const*), google::protobuf::FieldDescriptor const*>(std::atomic<unsigned int>*, absl::lts_20230125::base_internal::SchedulingMode, void (*&&)(google::protobuf::FieldDescriptor const*), google::protobuf::FieldDescriptor const*&&))
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]: Leaving directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build'
make: *** [Makefile:156: all] Error 2


# emerge --info '=dev-db/mysql-8.0.32-r2::gentoo'
Portage 3.0.63 (python 3.12.3-final-0, default/linux/amd64/23.0/desktop/plasma/systemd, gcc-13, glibc-2.39-r6, 6.9.3 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.9.3-x86_64-AMD_Ryzen_7_7840U_w-_Radeon_780M_Graphics-with-glibc2.39
KiB Mem:    32123444 total,  16560524 free
KiB Swap:   26214396 total,  26214396 free
Timestamp of repository gentoo: Thu, 13 Jun 2024 05:30:00 +0000
Head commit of repository gentoo: a3ed1b4ad30fa30e3d428c738dfd1792ce0001e8
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.42 p3) 2.42.0
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r7::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.5::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.4.0-r1::gentoo
dev-lang/perl:             5.38.2-r3::gentoo
dev-lang/python:           3.11.9-r1::gentoo, 3.12.3-r1::gentoo
dev-lang/rust:             1.77.1::gentoo
dev-util/ccache:           4.9.1-r1::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-apps/systemd:          255.7::gentoo
sys-devel/binutils:        2.42-r1::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo
sys-devel/llvm:            17.0.6::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r6::gentoo
Repositories:

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

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0
    volatile: True

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE @FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/X11/xkb /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/init.d /etc/revdep-rebuild /etc/sandbox.d /etc/ssl/certs"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/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 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live ccache 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 splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="https://mirror.dkm.cz/gentoo/           http://ftp.fi.muni.cz/pub/linux/gentoo/                 http://gentoo.mirror.web4u.cz/          http://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo                "
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="en_US"
MAKEOPTS="-j16"
PKGDIR="/usr/portage/packages"
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="X a52 aac acpi activities alsa amd64 arts avi bluetooth branding bzip2 cairo cdda cet crypt css cups dbus declarative divx4linux dri dts encode exif flac gdbm gif gtk gtk2 gui iconv icq icu imagemagick imap jabber jpeg kde kwallet lcms libnotify libtirpc live mad matroska mmx mng mozilla mp3 mp4 mpeg multilib ncurses networkmanager nls nptl offensive ogg opengl openmp pam pango pcre pdf perl plasma png policykit ppds pulseaudio qml qt qt3support qt5 quicktime readline sdl seccomp smp sound sse sse2 ssl startup-notification svg systemd tcpd test-rust theora tiff truetype udev udisks unicode upower usb v4l vhosts vorbis vulkan wayland widgets wifi wxwidgets x264 xattr xcb xft xml xml2 xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="rewrite authz_host dir mime proxy proxy_http" CALLIGRA_FEATURES="karbon sheets words" CAMERAS="canon ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="evdev keyboard mouse libinput" KERNEL="linux" L10N="en cs" 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="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="amdgpu radeonsi" 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, MAKE, MAKEFLAGS, 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

=================================================================
                        Package Settings
=================================================================

dev-db/mysql-8.0.32-r2::gentoo was built with the following:
USE="perl server -cjk -cracklib -debug -jemalloc -latin1 -numa -profiling -router (-selinux) -tcmalloc -test" ABI_X86="(64)"
CXXFLAGS="-O2 -pipe -march=native -std=c++17"
FEATURES="buildpkg-live protect-owned strict fixlafiles parallel-fetch unmerge-orphans userpriv ebuild-locks binpkg-docompress network-sandbox unknown-features-warn preserve-libs userfetch merge-sync sandbox usersandbox config-protect-if-modified multilib-strict pkgdir-index-trusted binpkg-dostrip merge-wait xattr ipc-sandbox sfperms binpkg-logs qa-unresolved-soname-deps assume-digests news unmerge-logs splitdebug usersync pid-sandbox distlocks"
Comment 1 Petr Novak 2024-06-13 07:49:09 UTC
Created attachment 895731 [details]
/var/tmp/portage/dev-db/mysql-8.0.32-r2/temp/environment

# emerge -pqv '=dev-db/mysql-8.0.32-r2::gentoo'
[ebuild   R   ] dev-db/mysql-8.0.32-r2  USE="perl server -cjk -cracklib -debug -jemalloc -latin1 -numa -profiling -router (-selinux) -tcmalloc -test"
Comment 2 Petr Novak 2024-06-13 07:49:54 UTC
Created attachment 895732 [details]
/var/tmp/portage/dev-db/mysql-8.0.32-r2/temp/build.log
Comment 3 Jay Faulkner 2024-06-13 23:16:31 UTC
I can confirm this bug is happening on my machine and the versions match up. The error is not identical but appears to be the LTO-flavored version of this log. Attaching my emerge --info and build log.
Comment 4 Jay Faulkner 2024-06-13 23:16:54 UTC
Created attachment 895783 [details]
jayf-build-failure
Comment 5 Jay Faulkner 2024-06-13 23:17:28 UTC
Created attachment 895784 [details]
jayf-emerge-info
Comment 6 Petr Novak 2024-06-14 07:45:47 UTC
dev-db/mysql-8.0.36 works
Comment 7 Florian "adlerweb" Knodt 2024-06-14 14:29:24 UTC
As a workaround you could use the bundeled protobuf as outlined in https://bugs.gentoo.org/912797#c11

MYCMAKEARGS="-DWITH_PROTOBUF=bundled" emerge mysql
Comment 8 Christophe PEREZ 2024-06-14 16:51:37 UTC
(In reply to Florian "adlerweb" Knodt from comment #7)
> As a workaround you could use the bundeled protobuf as outlined in
> https://bugs.gentoo.org/912797#c11
> 
> MYCMAKEARGS="-DWITH_PROTOBUF=bundled" emerge mysql

Can't recompile mysql too

/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/xprotocol_plugin.dir/message_field_chain.cc.o: undefined reference to symbol '_ZN4absl12lts_2023012513base_internal12SpinLockWaitEPSt6atomicIjEiPKNS1_22SpinLockWaitTransitionENS1_14SchedulingModeE'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libabsl_spinlock_wait.so.2301.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]: Leaving directory '/var/tmp/portage/dev-db/mysql-8.0.32-r2/work/mysql_build'
make: *** [Makefile:156: all] Error 2

Actually trying this workaround. Compile in progress