Hello, Sergei and Gentoo. On Thu, Jul 08, 2021 at 09:00:59 +0100, Sergei Trofimovich wrote: > On Wed, 7 Jul 2021 18:16:44 +0000 > Alan Mackenzie <a...@muc.de> wrote:
> > Hello, Gentoo. > > Would somebody help me here, please. > > When I try to emerge glibc-2.33-r1, the very first phase of the build > > crashes out with: > > x86_64-pc-linux-gnu-gcc -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed > > glibc-test.c -o glibc-test > > * Checking that IA32 emulation is enabled in the running kernel ... > > /usr/portage/sys-libs/glibc/glibc-2.33-r1.ebuild: line 608: 199 > > Segmentation fault "${T}/check-ia32-emulation.elf32" > > [ !! ] > > * ERROR: sys-libs/glibc-2.33-r1::gentoo failed (pretend phase): > > * CONFIG_IA32_EMULATION must be enabled in the kernel to compile a > > multilib glibc. > > * > > * Call stack: > > * ebuild.sh, line 127: Called pkg_pretend > > * glibc-2.33-r1.ebuild, line 721: Called sanity_prechecks > > * glibc-2.33-r1.ebuild, line 670: Called die > > * The specific snippet of code: > > * [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION > > must be enabled in the kernel to compile a multilib glibc." > > * > > * If you need support, post the output of `emerge --info > > '=sys-libs/glibc-2.33-r1::gentoo'`, > > * the complete build log and the output of `emerge -pqv > > '=sys-libs/glibc-2.33-r1::gentoo'`. > > * The complete build log is located at > > '/var/tmp/portage/sys-libs/glibc-2.33-r1/temp/build.log'. > > * The ebuild environment file is located at > > '/var/tmp/portage/sys-libs/glibc-2.33-r1/temp/die.env'. > > * Working directory: '/var/tmp/portage/sys-libs/glibc-2.33-r1/empty' > > * S: '/var/tmp/portage/sys-libs/glibc-2.33-r1/work/glibc-2.33' > > >>> Failed to emerge sys-libs/glibc-2.33-r1, Log file: > > >>> '/var/tmp/portage/sys-libs/glibc-2.33-r1/temp/build.log' > > What is clearly happening is that the C Compiler is crashing out with a > > segfault. I actually have CONFIG_IA32_EMULATION in my kernel config. > > I've tried this with both GCC-10.3.0 and GCC-9.3.0 with the same results > > on both. > > What is going wrong? (Horrible thought - maybe my RAM is failing.) > If it happens consistently it's more likely a software problem and > not a hardware problem. > Try getting a backtrace and instructing dump out of SIGSEGVing glibc-test. > The typical session would look like: > $ gdb ./glibc-test > (gdb) run > (gdb) bt > (gdb) disassemble In the end, I submitted bug #802036 to the Gentoo bugzilla. Ben Kohler noticed straight away I was still using a very old binutils (hence the benefit of supplying complete documentation with a bug), and remarked that problems had been seen with glibc and old binutils. Sergei then helped with practical suggestions. I didn't even know you had manually to configure binutils versions, but I did this, and glibc continued to crash out. Then I tried editing the ebuild file, removing the check that was causing the crash. This gave me ebuild validation errors. So, after looking up the man page, I gave the argument --digest to emerge, and it built. Phew! So, after catching up on my emerging, I've just got one package which isn't building, libdrm, but that can wait till another day. > -- > Sergei -- Alan Mackenzie (Nuremberg, Germany).