Hello, Dan.

On Wed, Jul 07, 2021 at 12:28:35 -0700, Daniel Frey wrote:
> On 7/7/21 11:16 AM, Alan Mackenzie 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.)


> It looks to me that it ran a test to see if you have a kernel option 
> enabled.

That's what the test is trying to discern, yes.

> It didn't, looks like it crashed. And then the build warns you 
> that you have to enable CONFIG_IA32_EMULATION in your kernel?

I do have CONFIG_IA32_EMULATION enable in my kernel, and have had for a
long time.  Something segfaulted (?the compiler), which looks like a bug
in wherever.

The emerge script doesn't return the position of the segfault (line 608
is just the beginning of the section).  It hides the return code STAT
(which wouldn't have been set anyway).  And it gives a wrong diagnostic
about a kernel setting.  How is one supposed to debug such a scenario?

> Dan

-- 
Alan Mackenzie (Nuremberg, Germany).

Reply via email to