Summary: | dev-db/mysql-connector-c-8.0.19 - ninja: FAILED: include/mysqld_error.h share/mysql-8.0/english/errmsg.sys | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Vasilis Lourdas <bugs> |
Component: | Current packages | Assignee: | Gentoo Linux MySQL bugs team <mysql-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bugs, matthew, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=775845 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 269315, 331933 | ||
Attachments: |
build.log
new build.log find files output build3.log |
Description
Vasilis Lourdas
2020-02-20 06:52:26 UTC
Created attachment 614600 [details]
build.log
Full build.log
Anyone on this? It's been open for more than a month now. (In reply to Vasilis Lourdas from comment #2) > Anyone on this? It's been open for more than a month now. Nobody I am aware of. I can't reproduce and haven't seen this before. Maybe try checking if you have another comp_err on your system which gets into the way and will produce somehow invalid localizations. (In reply to Thomas Deutschmann from comment #3) > (In reply to Vasilis Lourdas from comment #2) > > Anyone on this? It's been open for more than a month now. > Nobody I am aware of. > > I can't reproduce and haven't seen this before. > > Maybe try checking if you have another comp_err on your system which gets > into the way and will produce somehow invalid localizations. What more information can I provide to help in this direction? Search your PATH for comp_err, if you find something, maybe from dev-db/mysql, temporarily rename that file and see if it makes any difference. Also try building with MAKEOPTS=-j1 just in case... (In reply to Thomas Deutschmann from comment #5) > Search your PATH for comp_err, if you find something, maybe from > dev-db/mysql, temporarily rename that file and see if it makes any > difference. No files found with that name. > Also try building with MAKEOPTS=-j1 just in case... I did that and still the same error. I don't have dev-db/mysql installed, but dev-db/mariadb instead. I also have dev-db/mariadb-connector-c installed. Still unable to reproduce with mariadb-connector-c and mariadb installed. Try doing
> [214/250] cd /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/utilities && /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/runtime_output_directory/comp_err --charset=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19/share/charsets --out-dir=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/share/mysql-8.0/ --header_file=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_error.h --name_file=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_ername.h --errmsg_file=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_errmsg.h --in_file_errlog=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19/share/messages_to_error_log.txt --in_file_toclient=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19/share/messages_to_clients.txt
manually. I.e. become portage user, and try to manually run these commands to check if you can reproduce. If you can reproduce, start debugging. Maybe you will find the reason why this is failing.
(In reply to Thomas Deutschmann from comment #7) > Still unable to reproduce with mariadb-connector-c and mariadb installed. > Try doing > > > [214/250] cd /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/utilities && /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/runtime_output_directory/comp_err --charset=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19/share/charsets --out-dir=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/share/mysql-8.0/ --header_file=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_error.h --name_file=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_ername.h --errmsg_file=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_errmsg.h --in_file_errlog=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19/share/messages_to_error_log.txt --in_file_toclient=/var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19/share/messages_to_clients.txt > > manually. I.e. become portage user, and try to manually run these commands > to check if you can reproduce. If you can reproduce, start debugging. Maybe > you will find the reason why this is failing. The command did not produce any output, so I guess it succeeded. All files in the command parameters exist... Re-run the emerge command. When it failed, check that > /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_error.h and > /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_64.amd64/share/mysql-8.0/english/errmsg.sys exists. The generated errmsg.sys is a binary file but it should contain a lot of readable English text, things like > Version: '%s' socket: '%s' port: %d.%s: Normal shutdown > .%s: Got signal %d. Aborting! > .%s: Shutdown complete Maybe you see anything suspicious. But I am running out of ideas. If you aren't in the middle of a toolchain upgrade (upgraded GCC/glibc and haven't rebooted yet), I have no further ideas. (In reply to Thomas Deutschmann from comment #9) > Re-run the emerge command. When it failed, check that > > > /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_error.h > and > > /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_64.amd64/share/mysql-8.0/english/errmsg.sys > exists. The generated errmsg.sys is a binary file but it should contain a > lot of readable English text, things like > > > Version: '%s' socket: '%s' port: %d.%s: Normal shutdown > > .%s: Got signal %d. Aborting! > > .%s: Shutdown complete > > Maybe you see anything suspicious. > > But I am running out of ideas. If you aren't in the middle of a toolchain > upgrade (upgraded GCC/glibc and haven't rebooted yet), I have no further > ideas. No, when the build fails, /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_32.x86/include/mysqld_error.h and /var/tmp/portage/dev-db/mysql-connector-c-8.0.19/work/mysql-8.0.19-abi_x86_64.amd64/share/mysql-8.0/english/errmsg.sys do not exist. Could this somehow be related to my CFLAGS? You can see my CFLAGS variable in the first message. Wait: When the build failed, these files don't exist? But you are able to run the command from comment #7? That should be impossible.. The missing header file should be generated a few steps before that comp_err call.. Regarding your CFLAGS: Well, you have crazy CFLAGS, I hope you know what you are doing. I was unable to reproduce your problem with these flag. That said, it's still possible that these flags causing problems in dependencies, assuming you have built everything with these flags... Last idea, try > CMAKE_MAKEFILE_GENERATOR=emake emerge -a1 dev-db/mysql-connector-c to rule out any problem caused by ninja. Created attachment 626408 [details]
new build.log
New build log, with the CMAKE_MAKEFILE_GENERATOR=emake emerge -a1 dev-db/mysql-connector-c command
Created attachment 626410 [details] find files output (In reply to Thomas Deutschmann from comment #11) > Wait: When the build failed, these files don't exist? But you are able to > run the command from comment #7? That should be impossible.. Check the attached terminal log. Watch the build failure, my find commands and after running the command in 214. Please disable 32bit ABI and just try to build for your native ABI. Created attachment 626412 [details] build3.log (In reply to Thomas Deutschmann from comment #14) > Please disable 32bit ABI and just try to build for your native ABI. I did that, attached new build.log. This time it's comp_client_err failing for "include/mysqlclient_ername.h". Enabling debugging (https://wiki.gentoo.org/wiki/Debugging) for this package through /etc/portage/env & etc/pportage/packages.env. Allow for core dump creation (mkdir /var/tmp/coredumps && chmod 1777 /var/tmp/coredumps && sysctl -w kernel.core_pattern="/var/tmp/coredumps/%e.%p.%t" && ulimit -c unlimited). From that terminal run emerge with CMAKE_MAKEFILE_GENERATOR=emake set but just for native ABI to avoid any multilib complications. It should crash again and this time you will hopefully have a core dump you can analyze with gdb which will give us a clue what's going on. You maybe need to re-install toolchain with debug symbols first to get a meaningful back trace. (In reply to Thomas Deutschmann from comment #16) > This time it's comp_client_err failing for "include/mysqlclient_ername.h". > > Enabling debugging (https://wiki.gentoo.org/wiki/Debugging) for this package > through /etc/portage/env & etc/pportage/packages.env. Allow for core dump > creation (mkdir /var/tmp/coredumps && chmod 1777 /var/tmp/coredumps && > sysctl -w kernel.core_pattern="/var/tmp/coredumps/%e.%p.%t" && ulimit -c > unlimited). From that terminal run emerge with > CMAKE_MAKEFILE_GENERATOR=emake set but just for native ABI to avoid any > multilib complications. It should crash again and this time you will > hopefully have a core dump you can analyze with gdb which will give us a > clue what's going on. You maybe need to re-install toolchain with debug > symbols first to get a meaningful back trace. I tried them, but I have no debugging symbols. I guess I'll have to recompile gcc, etc. with debug info. What I forgot to mention is that the problem exists in my other two machines. The first machine is a i5 8600 (the one I'm writing now and tried all these hacks), the second one is a i5 4590 and the third one is a laptop with i5 7200U. In all three I cannot get mysql-connector-c to build with the same error. If this were a coincidence, I'd better buy a lottery ticket. (In reply to Vasilis Lourdas from comment #17) > What I forgot to mention is that the problem exists in my other two > machines. Assuming you set them up the same way I am not surprised that you hit this error on all your systems. But try testing a stage3, it will work: > # Setup Gentoo chroot using stage3 > cd /tmp > mkdir /tmp/gentoo > wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20200325T214502Z/stage3-amd64-20200325T214502Z.tar.xz > tar -xaf stage3-amd64-*.tar.xz -C /tmp/gentoo > mount -t proc /proc gentoo/proc > mount --rbind /sys gentoo/sys > mount --make-rslave gentoo/sys > mount --rbind /dev gentoo/dev > mount --make-rslave gentoo/dev > > # Chroot into Gentoo > env -i HOME=/root TERM=$TERM $(which chroot) /tmp/gentoo /bin/bash --login > > # In Gentoo chroot... > export PS1="(chroot) $PS1" > > # Make sure name resolution works... > echo 'nameserver 8.8.8.8' > /etc/resolv.conf > > # Get latest daily portage snapshot > emerge-webrsync > # emerge -a '>=dev-db/mysql-connector-c-8' Luckily another fellow forum user found the solution by comparing his and mine build logs. It turns out that sys-devel/lld was at fault. After removing the package, mysql-connector-c built fine. Hi! Finding source of the issue is certainly a step forward, thanks! Although this shouldn't be the final solution since lld is required for example by firefox and rust packages. I'm also hit by this issue btw. Is there any way we can instruct mysql-connector-c package compilation not to use lld? Or is it possible to fix the ebuild that way? gcc is the default compiler. Packages like www-client/firefox will allow you to switch via USE flag but normally you do this via package.env.
I just tried to compile in clean stage3 with lld sitting around. I was unable to reproduce. That means there is no automagic on lld. If you changed your default compiler to clang, you are on your own.
Sure, this package supports "-DUSE_LD_LLD=OFF" but I don't want to block you or anyone else from shooting yourself in the foot. If you want to switch default compiler, that's what you have to deal with. Adding something like
> if tc-is-clang; then
> mycmakeargs+=( -DUSE_LD_LLD=OFF )
> fi
looks wrong for me.
I'm experiencing this problem too and my default compiler is still gcc. Building without lld installed fixes the issue. I've compared the cmake output when building with and without lld present and it looks like mysql-connector-c prefers lld to other linkers even when building with gcc. Here are the relevant log lines: With lld: ... -- Performing Test C_LD_LLD_RESULT -- Performing Test C_LD_LLD_RESULT - Success -- Performing Test CXX_LD_LLD_RESULT -- Performing Test CXX_LD_LLD_RESULT - Success ... -- CMAKE_C_LINK_FLAGS: -fuse-ld=lld -- CMAKE_CXX_LINK_FLAGS: -fuse-ld=lld ... Without lld: ... -- Performing Test C_LD_LLD_RESULT -- Performing Test C_LD_LLD_RESULT - Failed -- Performing Test CXX_LD_LLD_RESULT -- Performing Test CXX_LD_LLD_RESULT - Failed -- Performing Test C_LD_GOLD_RESULT -- Performing Test C_LD_GOLD_RESULT - Success -- Performing Test CXX_LD_GOLD_RESULT -- Performing Test CXX_LD_GOLD_RESULT - Success ... -- CMAKE_C_LINK_FLAGS: -fuse-ld=gold -Wl,--gc-sections -- CMAKE_CXX_LINK_FLAGS: -fuse-ld=gold -Wl,--gc-sections ... Sure there is some kind of automagic (https://github.com/mysql/mysql-server/blob/mysql-8.0.20/CMakeLists.txt#L803-L841) but I am unable to reproduce any *problem* even on systems where lld, ld.gold... is present. So in my case, builds with -fuse-ld=gold will succeed like builds with -fuse-ld=lld. If you can tell me what I need to do to reproduce this in a clean stage3, see comment #18, we maybe able to do something but until then it looks like something is 'broken' (different) on your system causing this. I can confirm this issue for version 8.0.22: The build log confirms it's using ld.gold even tho I didn't enable the gold linker by default. I'm now trying with USE="-gold" globally. I'm not sure why it did work for me in previous versions but looking at other problems with gold, compile failures seem to randomly pop up in multiple packages even when it was not directly linked with gold but one of the depends was. If I don't report back, please assume that using USE="-gold" fixed the issue for me. Works when binutils is compiled with USE="-gold". *** Bug 775845 has been marked as a duplicate of this bug. *** Ran into this problem on x86 in normal emerge -u @world sys-devel/binutils is USE="gold nls plugins" Was ultimately able to build dev-db/mysql-connector-c-8.0.23-r1 with FEATURES=-distcc. Seems to not be a very stable ninja? Hi All, I have run into this bug also. I have tried everything mentioned in this bug report, but unfortunately to no avail. I have tried j1 in my buildopts I have tried using emake instead of ninja to build I have tried using gold and -gold as use flags in binutils still with no success. ➜ gary@m7mek ~ emerge --info '=dev-db/mysql-connector-c-8.0.31::gentoo' Portage 3.0.43 (python 3.10.9-final-0, default/linux/amd64/17.1, gcc-12, glibc-2.36-r5, 5.15.88-gentoo-dist x86_64) ================================================================= System Settings ================================================================= System uname: Linux-5.15.88-gentoo-dist-x86_64-Intel-R-_Pentium-R-_CPU_G3240_@_3.10GHz-with-glibc2.36 KiB Mem: 8056416 total, 3314376 free KiB Swap: 8167892 total, 8167892 free Timestamp of repository gentoo: Thu, 02 Feb 2023 17:00:01 +0000 Head commit of repository gentoo: ff3bc692dc1cf301df41fda2af7aefbd7aa7fd70 sh bash 5.1_p16-r2 ld GNU ld (Gentoo 2.39 p5) 2.39.0 distcc 3.4 x86_64-pc-linux-gnu [disabled] app-misc/pax-utils: 1.3.5::gentoo app-shells/bash: 5.1_p16-r2::gentoo dev-lang/perl: 5.36.0-r1::gentoo dev-lang/python: 3.10.9-r1::gentoo, 3.11.1-r1::gentoo dev-lang/rust: 1.66.1::gentoo dev-util/cmake: 3.24.3::gentoo dev-util/meson: 0.64.1::gentoo sys-apps/baselayout: 2.9::gentoo sys-apps/openrc: 0.45.2-r2::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.71-r5::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.39-r4::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/gcc: 12.2.1_p20230121-r1::gentoo sys-devel/gcc-config: 2.8::gentoo sys-devel/libtool: 2.4.7-r1::gentoo sys-devel/llvm: 15.0.7::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers) sys-libs/glibc: 2.36-r5::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: True sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=sandybridge -mno-avx -mno-aes -mno-rdrnd -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /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/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=sandybridge -mno-avx -mno-aes -mno-rdrnd -O2 -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="-march=sandybridge -mno-avx -mno-aes -mno-rdrnd -O2 -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 multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=sandybridge -mno-avx -mno-aes -mno-rdrnd -O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LEX="flex" MAKEOPTS="-j11 -l3" 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 amd64 bzip2 cli crypt dbus dri elogind fortran gdbm gtk iconv ipv6 libglvnd libtirpc multilib ncurses nls nptl openmp pam pcre pulseaudio readline seccomp split-usr ssl test-rust unicode xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache 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" CPU_FLAGS_X86="mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat 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, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS [161/257] /usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DHAVE_TLSv13 -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-connector-c-8.0.31/work/mysql-connector-c-8.0.31_build-abi_x86_64.amd64 -I/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/work/mysql-connector-c-8.0.31_build-abi_x86_64.amd64/include -I/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/work/mysql-8.0.31 -I/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/work/mysql-8.0.31/include -march=sandybridge -mno-avx -mno-aes -mno-rdrnd -O2 -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 -fPIE -DMAIN -Wshadow=local -MD -MT mysys/CMakeFiles/mf_iocache_test.dir/mf_iocache.cc.o -MF mysys/CMakeFiles/mf_iocache_test.dir/mf_iocache.cc.o.d -o mysys/CMakeFiles/mf_iocache_test.dir/mf_iocache.cc.o -c /var/tmp/portage/dev-db/mysql-connector-c-8.0.31/work/mysql-8.0.31/mysys/mf_iocache.cc ninja: build stopped: subcommand failed. * ERROR: dev-db/mysql-connector-c-8.0.31::gentoo failed (compile phase): * ninja -v -j11 -l3 failed * * Call stack: * ebuild.sh, line 136: Called src_compile * environment, line 2684: Called cmake-multilib_src_compile * environment, line 855: Called multilib-minimal_src_compile * environment, line 2007: Called multilib_foreach_abi 'multilib-minimal_abi_src_compile' * environment, line 2274: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile' * environment, line 1967: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile' * environment, line 1965: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_compile' * environment, line 515: Called multilib-minimal_abi_src_compile * environment, line 2001: Called multilib_src_compile * environment, line 2494: Called cmake_src_compile * environment, line 966: Called cmake_build * environment, line 935: Called eninja * environment, line 1396: Called die * The specific snippet of code: * "$@" || die -n "${*} failed" * * If you need support, post the output of `emerge --info '=dev-db/mysql-connector-c-8.0.31::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-db/mysql-connector-c-8.0.31::gentoo'`. * The complete build log is located at '/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/temp/environment'. * Working directory: '/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/work/mysql-connector-c-8.0.31_build-abi_x86_64.amd64' * S: '/var/tmp/portage/dev-db/mysql-connector-c-8.0.31/work/mysql-8.0.31' ➜ gary@m7mek ~ The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8da48ae6ee2878605bd985a9be773a095c03203 commit a8da48ae6ee2878605bd985a9be773a095c03203 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-12-18 06:56:05 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 06:56:05 +0000 dev-db/mysql-connector-c: fix automagic LLD usage The build system automagically uses LLD (via -fuse-ld=lld) when gcc + no LTO. Fix that. Closes: https://bugs.gentoo.org/710272 Closes: https://bugs.gentoo.org/775845 Signed-off-by: Sam James <sam@gentoo.org> dev-db/mysql-connector-c/mysql-connector-c-8.0.32-r1.ebuild | 2 ++ 1 file changed, 2 insertions(+) Also note: 1) default-gold is masked nowadays on binutils; 2) mysql-connector-c-8.0.32 does: ``` IF(CMAKE_C_LINK_FLAGS MATCHES "-fuse-ld=gold" OR CMAKE_CXX_LINK_FLAGS MATCHES "-fuse-ld=gold" OR CMAKE_EXE_LINKER_FLAGS MATCHES "-fuse-ld=gold") MESSAGE(WARNING "-fuse-ld=gold is not supported") STRING(REPLACE "-fuse-ld=gold" "" CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS}") STRING(REPLACE "-fuse-ld=gold" "" CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS}") STRING(REPLACE "-fuse-ld=gold" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") ENDIF() ``` so we should be fine now. |