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