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).

Reply via email to