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 <[email protected]> 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).