Gentoo Archives: gentoo-user

From: Alan Mackenzie <acm@×××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] glibc-2.33-r1 crashes out at the start before building.
Date: Wed, 07 Jul 2021 20:42:39
Message-Id: YOYRtuQDWIa/rjpf@ACM
In Reply to: Re: [gentoo-user] glibc-2.33-r1 crashes out at the start before building. by Daniel Frey
1 Hello, Dan.
2
3 On Wed, Jul 07, 2021 at 12:28:35 -0700, Daniel Frey wrote:
4 > On 7/7/21 11:16 AM, Alan Mackenzie wrote:
5 > > Hello, Gentoo.
6
7 > > Would somebody help me here, please.
8
9 > > When I try to emerge glibc-2.33-r1, the very first phase of the build
10 > > crashes out with:
11
12 > > x86_64-pc-linux-gnu-gcc -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed glibc-test.c -o glibc-test
13 > > * Checking that IA32 emulation is enabled in the running kernel ...
14 > > /usr/portage/sys-libs/glibc/glibc-2.33-r1.ebuild: line 608: 199 Segmentation fault "${T}/check-ia32-emulation.elf32"
15 > > [ !! ]
16 > > * ERROR: sys-libs/glibc-2.33-r1::gentoo failed (pretend phase):
17 > > * CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc.
18 > > *
19 > > * Call stack:
20 > > * ebuild.sh, line 127: Called pkg_pretend
21 > > * glibc-2.33-r1.ebuild, line 721: Called sanity_prechecks
22 > > * glibc-2.33-r1.ebuild, line 670: Called die
23 > > * The specific snippet of code:
24 > > * [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
25 > > *
26 > > * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.33-r1::gentoo'`,
27 > > * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.33-r1::gentoo'`.
28 > > * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.33-r1/temp/build.log'.
29 > > * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.33-r1/temp/die.env'.
30 > > * Working directory: '/var/tmp/portage/sys-libs/glibc-2.33-r1/empty'
31 > > * S: '/var/tmp/portage/sys-libs/glibc-2.33-r1/work/glibc-2.33'
32
33 > >>>> Failed to emerge sys-libs/glibc-2.33-r1, Log file:
34
35 > >>>> '/var/tmp/portage/sys-libs/glibc-2.33-r1/temp/build.log'
36
37 > > What is clearly happening is that the C Compiler is crashing out with a
38 > > segfault. I actually have CONFIG_IA32_EMULATION in my kernel config.
39
40 > > I've tried this with both GCC-10.3.0 and GCC-9.3.0 with the same results
41 > > on both.
42
43 > > What is going wrong? (Horrible thought - maybe my RAM is failing.)
44
45
46 > It looks to me that it ran a test to see if you have a kernel option
47 > enabled.
48
49 That's what the test is trying to discern, yes.
50
51 > It didn't, looks like it crashed. And then the build warns you
52 > that you have to enable CONFIG_IA32_EMULATION in your kernel?
53
54 I do have CONFIG_IA32_EMULATION enable in my kernel, and have had for a
55 long time. Something segfaulted (?the compiler), which looks like a bug
56 in wherever.
57
58 The emerge script doesn't return the position of the segfault (line 608
59 is just the beginning of the section). It hides the return code STAT
60 (which wouldn't have been set anyway). And it gives a wrong diagnostic
61 about a kernel setting. How is one supposed to debug such a scenario?
62
63 > Dan
64
65 --
66 Alan Mackenzie (Nuremberg, Germany).