GNU bug report logs - #51664
kexec-tools fails to build on i686-linux, breaks GTK/GNOME

Previous Next

Package: guix;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Sun, 7 Nov 2021 15:33:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51664 in the body.
You can then email your comments to 51664 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#51664; Package guix. (Sun, 07 Nov 2021 15:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 07 Nov 2021 15:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: bug-guix <bug-guix <at> gnu.org>
Subject: kexec-tools fails to build on i686-linux, breaks GTK/GNOME
Date: Sun, 07 Nov 2021 10:32:47 -0500
Hello Guix,

This has always been the case on Guix it seems (c.f.:
https://ci.guix.gnu.org/build/64481/details); yet the upstream CI builds
it fine there, and so does an Ubuntu 20.04 VM (with GCC 10.3.0).  I've
already tested it on core-updates and it fails there too, with the same
GCC:

--8<---------------cut here---------------start------------->8---
starting phase `build'
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec.o kexec/kexec.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/ifdown.o kexec/ifdown.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-elf.o kexec/kexec-elf.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-elf-exec.o kexec/kexec-elf-exec.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-elf-core.o kexec/kexec-elf-core.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-elf-rel.o kexec/kexec-elf-rel.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-elf-boot.o kexec/kexec-elf-boot.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-iomem.o kexec/kexec-iomem.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/firmware_memmap.o kexec/firmware_memmap.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/crashdump.o kexec/crashdump.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/crashdump-xen.o kexec/crashdump-xen.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/phys_arch.o kexec/phys_arch.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/lzma.o kexec/lzma.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/zlib.o kexec/zlib.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/kexec-xen.o kexec/kexec-xen.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/symbols.o kexec/symbols.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/proc_iomem.o kexec/proc_iomem.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/virt_to_phys.o kexec/virt_to_phys.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/phys_to_virt.o kexec/phys_to_virt.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/add_segment.o kexec/add_segment.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/add_buffer.o kexec/add_buffer.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch_reuse_initrd.o kexec/arch_reuse_initrd.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-x86.o kexec/arch/i386/kexec-x86.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-x86-common.o kexec/arch/i386/kexec-x86-common.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-elf-x86.o kexec/arch/i386/kexec-elf-x86.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-elf-rel-x86.o kexec/arch/i386/kexec-elf-rel-x86.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-bzImage.o kexec/arch/i386/kexec-bzImage.c
kexec/arch/i386/kexec-x86-common.c: In function ‘efi_get_acpi_rsdp’:
kexec/arch/i386/kexec-x86-common.c:425:19: warning: format ‘%lx’ expects argument of type ‘long unsigned int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long long unsigned int *’} [-Wformat=]
  425 |    sscanf(s, "0x%lx", &acpi_rsdp);
      |                 ~~^   ~~~~~~~~~~
      |                   |   |
      |                   |   uint64_t * {aka long long unsigned int *}
      |                   long unsigned int *
      |                 %llx
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-multiboot-x86.o kexec/arch/i386/kexec-multiboot-x86.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-mb2-x86.o kexec/arch/i386/kexec-mb2-x86.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-beoboot-x86.o kexec/arch/i386/kexec-beoboot-x86.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/kexec-nbi.o kexec/arch/i386/kexec-nbi.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/x86-linux-setup.o kexec/arch/i386/x86-linux-setup.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/arch/i386/crashdump-x86.o kexec/arch/i386/crashdump-x86.c
kexec/arch/i386/x86-linux-setup.c: In function ‘setup_linux_bootloader_parameters_high’:
kexec/arch/i386/x86-linux-setup.c:100:46: warning: right shift count >= width of type [-Wshift-count-overflow]
  100 |   real_mode->ext_ramdisk_image = initrd_base >> 32;
      |                                              ^~
kexec/arch/i386/x86-linux-setup.c:104:45: warning: right shift count >= width of type [-Wshift-count-overflow]
  104 |   real_mode->ext_ramdisk_size = initrd_size >> 32;
      |                                             ^~
kexec/arch/i386/x86-linux-setup.c:118:47: warning: right shift count >= width of type [-Wshift-count-overflow]
  118 |    real_mode->ext_cmd_line_ptr = cmd_line_ptr >> 32;
      |                                               ^~
kexec/arch/i386/x86-linux-setup.c: In function ‘setup_linux_vesafb’:
kexec/arch/i386/x86-linux-setup.c:173:44: warning: right shift count >= width of type [-Wshift-count-overflow]
  173 |   real_mode->ext_lfb_base = fix.smem_start >> 32;
      |                                            ^~
In file included from kexec/arch/i386/x86-linux-setup.c:35:
kexec/arch/i386/x86-linux-setup.c: In function ‘add_e820_map_from_mr’:
kexec/arch/i386/x86-linux-setup.c:758:13: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=]
  758 |   dbgprintf("%016lx-%016lx (%d)\n",
      |             ^~~~~~~~~~~~~~~~~~~~~~
  759 |     e820[i].addr,
      |     ~~~~~~~~~~~~
      |            |
      |            uint64_t {aka long long unsigned int}
kexec/arch/i386/../../kexec.h:122:19: note: in definition of macro ‘dbgprintf’
  122 |   fprintf(stderr, __VA_ARGS__); \
      |                   ^~~~~~~~~~~
kexec/arch/i386/x86-linux-setup.c:758:19: note: format string is defined here
  758 |   dbgprintf("%016lx-%016lx (%d)\n",
      |              ~~~~~^
      |                   |
      |                   long unsigned int
      |              %016llx
In file included from kexec/arch/i386/x86-linux-setup.c:35:
kexec/arch/i386/x86-linux-setup.c:758:13: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=]
  758 |   dbgprintf("%016lx-%016lx (%d)\n",
      |             ^~~~~~~~~~~~~~~~~~~~~~
  759 |     e820[i].addr,
  760 |     e820[i].addr + e820[i].size - 1,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                 |
      |                                 uint64_t {aka long long unsigned int}
kexec/arch/i386/../../kexec.h:122:19: note: in definition of macro ‘dbgprintf’
  122 |   fprintf(stderr, __VA_ARGS__); \
      |                   ^~~~~~~~~~~
kexec/arch/i386/x86-linux-setup.c:758:26: note: format string is defined here
  758 |   dbgprintf("%016lx-%016lx (%d)\n",
      |                     ~~~~~^
      |                          |
      |                          long unsigned int
      |                     %016llx
kexec/arch/i386/crashdump-x86.c: In function ‘cmdline_add_efi’:
kexec/arch/i386/crashdump-x86.c:806:41: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=]
  806 |  sprintf(acpi_rsdp_buf, " acpi_rsdp=0x%lx", acpi_rsdp);
      |                                       ~~^   ~~~~~~~~~
      |                                         |   |
      |                                         |   uint64_t {aka long long unsigned int}
      |                                         long unsigned int
      |                                       %llx
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/purgatory.o purgatory/purgatory.c
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/printf.o purgatory/printf.c
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/string.o purgatory/string.c
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/entry32-16.o purgatory/arch/i386/entry32-16.S
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/entry32-16-debug.o purgatory/arch/i386/entry32-16-debug.S
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/entry32.o purgatory/arch/i386/entry32.S
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/setup-x86.o purgatory/arch/i386/setup-x86.S
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/stack.o purgatory/arch/i386/stack.S
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/compat_x86_64.o purgatory/arch/i386/compat_x86_64.S
purgatory/arch/i386/compat_x86_64.S: Assembler messages:
purgatory/arch/i386/compat_x86_64.S:27: Error: unknown pseudo-op: `.code64'
purgatory/arch/i386/compat_x86_64.S:34: Error: bad register name `%rip)'
purgatory/arch/i386/compat_x86_64.S:37: Error: bad register name `%rip)'
make: *** [Makefile:127: purgatory/arch/i386/compat_x86_64.o] Error 1
make: *** Waiting for unfinished jobs....
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include  -c -MD -o purgatory/arch/i386/purgatory-x86.o purgatory/arch/i386/purgatory-x86.c
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "4") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 2.4 seconds
command "make" "-j" "4" failed with status 2
--8<---------------cut here---------------end--------------->8---

In the Ubuntu VM, the following include directive is passed to gcc:

  -I/usr/lib/gcc/x86_64-linux-gnu/10/include

while on Guix it uses:

  -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include;

i.e. it selects the i686 include directory of GCC instead of the x86_64
one.  That probably explains the missing .code64 and other
x86_64-related symbols in the compilation errors.

kexec-tools is a required input of elogind since at least 246.10, which
means GTK/GNOME is broken by this problem on i686
(core-updates-frozen-batched-changes).

Thanks,

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#51664; Package guix. (Mon, 08 Nov 2021 03:42:03 GMT) Full text and rfc822 format available.

Message #8 received at 51664 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 51664 <at> debbugs.gnu.org
Subject: Re: bug#51664: kexec-tools fails to build on i686-linux, breaks
 GTK/GNOME
Date: Sun, 07 Nov 2021 22:41:12 -0500
Hi again,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

[...]

>
> In the Ubuntu VM, the following include directive is passed to gcc:
>
>   -I/usr/lib/gcc/x86_64-linux-gnu/10/include
>
> while on Guix it uses:
>
>   -I/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/gcc/i686-unknown-linux-gnu/10.3.0/include;
>
> i.e. it selects the i686 include directory of GCC instead of the x86_64
> one.  That probably explains the missing .code64 and other
> x86_64-related symbols in the compilation errors.
>
> kexec-tools is a required input of elogind since at least 246.10, which
> means GTK/GNOME is broken by this problem on i686
> (core-updates-frozen-batched-changes).

As suggested in OFTC's #debian channel, I attempted to build kexec-tools
on a i686 Debian system to ensure the problem is not in kexec-tools; and
it built fine there too,

--8<---------------cut here---------------start------------->8---
[...]
gcc   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -MD -o purgatory/arch/i386/compat_x86_64.o purgatory/arch/i386/compat_x86_64.S
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -MD -o purgatory/arch/i386/purgatory-x86.o purgatory/arch/i386/purgatory-x86.c
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -MD -o purgatory/arch/i386/console-x86.o purgatory/arch/i386/console-x86.c
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -MD -o purgatory/arch/i386/vga.o purgatory/arch/i386/vga.c
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -MD -o purgatory/arch/i386/pic.o purgatory/arch/i386/pic.c
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -MD -o purgatory/arch/i386/crashdump_backup.o purgatory/arch/i386/crashdump_backup.c
mkdir -p purgatory
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector -O2   -I./purgatory/include -I./purgatory/arch/i386/include -I./util_lib/include -I./include -Iinclude -I/usr/lib/gcc/i686-linux-gnu/8/include  -c -o purgatory/sha256.o util_lib/sha256.c
mkdir -p purgatory
gcc -fno-zero-initialized-in-bss  -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector  -Wl,--no-undefined -nostartfiles -nostdlib -nodefaultlibs -e purgatory_start -r -Wl,-Map=purgatory/purgatory.map -o purgatory/purgatory.ro.sym purgatory/purgatory.o purgatory/printf.o purgatory/string.o purgatory/arch/i386/entry32-16.o purgatory/arch/i386/entry32-16-debug.o purgatory/arch/i386/entry32.o purgatory/arch/i386/setup-x86.o purgatory/arch/i386/stack.o purgatory/arch/i386/compat_x86_64.o purgatory/arch/i386/purgatory-x86.o purgatory/arch/i386/console-x86.o purgatory/arch/i386/vga.o purgatory/arch/i386/pic.o purgatory/arch/i386/crashdump_backup.o purgatory/sha256.o
strip --strip-debug -o purgatory/purgatory.ro purgatory/purgatory.ro.sym
gcc   -O2 -Wall -o bin/bin-to-hex util/bin-to-hex.c
mkdir -p kexec
bin/bin-to-hex purgatory < purgatory/purgatory.ro > kexec/purgatory.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include  -c -MD -o kexec/purgatory.o kexec/purgatory.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include -I./util_lib/include  -c -MD -o util_lib/compute_ip_checksum.o util_lib/compute_ip_checksum.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include -I./util_lib/include  -c -MD -o util_lib/elf_info.o util_lib/elf_info.c
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/  -I./kexec/arch/i386/include -I./util_lib/include  -c -MD -o util_lib/sha256.o util_lib/sha256.c
ar rs libutil.a util_lib/compute_ip_checksum.o util_lib/elf_info.o util_lib/sha256.o
ar: creating libutil.a
gcc   -o build/sbin/kexec kexec/kexec.o kexec/ifdown.o kexec/kexec-elf.o kexec/kexec-elf-exec.o kexec/kexec-elf-core.o kexec/kexec-elf-rel.o kexec/kexec-elf-boot.o kexec/kexec-iomem.o kexec/firmware_memmap.o kexec/crashdump.o kexec/crashdump-xen.o kexec/phys_arch.o kexec/lzma.o kexec/zlib.o kexec/kexec-xen.o kexec/symbols.o kexec/proc_iomem.o kexec/virt_to_phys.o kexec/phys_to_virt.o kexec/add_segment.o kexec/add_buffer.o kexec/arch_reuse_initrd.o kexec/arch/i386/kexec-x86.o kexec/arch/i386/kexec-x86-common.o kexec/arch/i386/kexec-elf-x86.o kexec/arch/i386/kexec-elf-rel-x86.o kexec/arch/i386/kexec-bzImage.o kexec/arch/i386/kexec-multiboot-x86.o kexec/arch/i386/kexec-mb2-x86.o kexec/arch/i386/kexec-beoboot-x86.o kexec/arch/i386/kexec-nbi.o kexec/arch/i386/x86-linux-setup.o kexec/arch/i386/crashdump-x86.o kexec/purgatory.o libutil.a -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes 
gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/   -c -MD -o vmcore-dmesg/vmcore-dmesg.o vmcore-dmesg/vmcore-dmesg.c
gcc   -o build/sbin/vmcore-dmesg vmcore-dmesg/vmcore-dmesg.o libutil.a -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes 
gcc -m32 -I./include -I./util_lib/include -Iinclude/  -DRELOC=0x10000  -c -MD -o kexec_test/kexec_test16.o kexec_test/kexec_test16.S
gcc -m32 -I./include -I./util_lib/include -Iinclude/  -DRELOC=0x10000  -c -MD -o kexec_test/kexec_test.o kexec_test/kexec_test.S
mkdir -p build/lib/kexec-tools
ld -melf_i386 -e _start -Ttext 0x10000 -o build/lib/kexec-tools/kexec_test kexec_test/kexec_test16.o kexec_test/kexec_test.o
cp kexec/kexec.8 build/man/man8/kexec.8
mkdir -p     build/man/man8
cp vmcore-dmesg/vmcore-dmesg.8 build/man/man8/vmcore-dmesg.8
--8<---------------cut here---------------end--------------->8---


So everything so far seems to suggest the problem is in Guix rather than
somewhere else.

Maxim




Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Thu, 11 Nov 2021 18:53:02 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Thu, 11 Nov 2021 18:53:02 GMT) Full text and rfc822 format available.

Message #13 received at 51664-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 51664-done <at> debbugs.gnu.org
Subject: Re: bug#51664: kexec-tools fails to build on i686-linux, breaks
 GTK/GNOME
Date: Thu, 11 Nov 2021 13:52:40 -0500
Hello,

Fixed with 4b1538e6ef and the leading commits; binutils had to be built
with "--enable-64-bit-bfd".

Closing.

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 10 Dec 2021 12:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 137 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.