i686-linux-gnu cross-compiler cannot find libgcc_s [core-updates]

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Maxime Devos
Owner
unassigned
Submitted by
Maxime Devos
Severity
normal
M
M
Maxime Devos wrote on 8 Jun 2021 10:41
(address . bug-guix@gnu.org)
87233e500b6fbde614181369dfdb4535b3471c4d.camel@telenet.be
I tested this on 683eb7c5b118440001b89944563603a39fc2ac05.
The problem does not occur on master.

How to reproduce:

# --target=aarch64-linux-gnu also fails, but that's another issue
./pre-inst-env guix build --target=i686-linux-gnu hello --keep-failed

Error message (during 'configure' phase):

checking for i686-linux-gnu-gcc... i686-linux-gnu-gcc
checking whether the C compiler works... no
configure: error: in `/tmp/guix-build-hello-2.10.drv-0/hello-2.10':
configure: error: C compiler cannot create executables
See `config.log' for more details
error: in phase 'configure': uncaught exception:
%exception #<&invoke-error program: "/gnu/store/kpkbyk7jlw6n5z3jkbia9mcr0bhflzbf-bash-minimal-5.1.8/bin/bash" arguments: ("./configure" "CC_FOR_BUILD=gcc"
"CONFIG_SHELL=/gnu/store/kpkbyk7jlw6n5z3jkbia9mcr0bhflzbf-bash-minimal-5.1.8/bin/bash" "SHELL=/gnu/store/kpkbyk7jlw6n5z3jkbia9mcr0bhflzbf-bash-minimal-5.1.8/bin/bash" "
--prefix=/gnu/store/wmkbla5nncld4rdyqkwc9lw9kzypvdab-hello-2.10" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" "--host=i686-linux-gnu") exit-status: 77 term-signal: #f stop-signal: #f>
phase `configure' failed after 3.1 seconds

From 'config.log':

configure:4014: checking whether the C compiler works
configure:4036: i686-linux-gnu-gcc conftest.c >&5
i686-linux-gnu-ld: cannot find -lgcc_s
i686-linux-gnu-ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
configure:4040: $? = 1
configure:4078: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU Hello"
| #define PACKAGE_TARNAME "hello"
| #define PACKAGE_VERSION "2.10"
| #define PACKAGE_STRING "GNU Hello 2.10"
| #define PACKAGE_BUGREPORT "bug-hello@gnu.org"
| #define PACKAGE "hello"
| #define VERSION "2.10"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:4083: error: in `/tmp/guix-build-hello-2.10.drv-0/hello-2.10':
configure:4085: error: C compiler cannot create executables

Issue:

Somehow, the C cross-compiler does not find "libgcc_s".
Look at CROSS_LIBRARY_PATH and LIBRARY_PATH in /tmp/[...]/environment-variables,
we have (line breaks added):

export CROSS_LIBRARY_PATH=
/gnu/store/glc86jl13yj70k2h4mm3pqwff351mxav-glibc-cross-i686-linux-gnu-2.33/lib:
/gnu/store/wk761j8qqq7yf949wyxjgcbqxcx574nf-glibc-cross-i686-linux-gnu-2.33-static/lib
export LIBRARY_PATH=
/gnu/store/w6ydl1fjxhkc69cs90vmg3g48vwcy59w-binutils-cross-i686-linux-gnu-2.36.1/lib:
/gnu/store/lv8zj6sl3fc6db2ljq10haba3sfhvq6b-bzip2-1.0.8/lib:
/gnu/store/hhg5z17xyfj7zvg864br41nsj6g918ym-xz-5.2.5/lib:
/gnu/store/pnj9pzyk4ajs9a245krx5l4sp4p8xwyk-file-5.39/lib:
/gnu/store/0amam2n0vjb62zh6jssb9pjnwcf302hw-gawk-5.1.0/lib:
/gnu/store/3fasjd1jnnm6vhyff5wb3kkahnxzbl49-binutils-2.36.1/lib:
/gnu/store/mf4kmmhka2dagnna6a0h4fciz5ijaxsn-glibc-2.33/lib:
/gnu/store/dj2p4mwp6gwbx8fpd6gqsj2c307mm6sp-glibc-2.33-static/lib:
/gnu/store/dxplmvm0xf8z968m3lbwzizc95h9nldc-glibc-utf8-locales-2.33/lib

When I run "ls -l" on each of these directories, I notice none of these
have a "libgcc_s.so" file. So it's not very surprising GNU ld (via GCC) cannot find it.
Now, where could we find "libgcc_s.so"?

I found it in
/gnu/store/6b4sgmqd3nrajbx47zryi0n4s08sfrb6-gcc-cross-i686-linux-gnu-8.5.0/i686-linux-gnu/lib/

By explicitely passing "-L/gnu/store/6b4sgmqd3nrajbx47zryi0n4s08sfrb6-gcc-cross-i686-linux-gnu-8.5.0/i686-linux-gnu/lib/",
the C program compiles. So, I guess we need to add that directory to CROSS_LIBRARY_PATH. Or ...

* Shouldn't this be present in the spec file?

Let's test.

/gnu/store/6b4sgmqd3nrajbx47zryi0n4s08sfrb6-gcc-cross-i686-linux-gnu-8.5.0/bin/i686-linux-gnu-gcc -dumpspecs

Output (only a part shown)
*lib:
%{!mandroid|tno-android-ld:-L/gnu/store/glc86jl13yj70k2h4mm3pqwff351mxav-glibc-cross-i686-linux-gnu-2.33/lib %{!static:-rpath=/gnu/store/glc86jl13yj70k2h4mm3pqwff351mxav-glibc-cross-i686-linux-gnu-
2.33/lib %{!static-libgcc:-rpath=/gnu/store/53i7hxqwf3apvz77bsapjvrigjiimg29-gcc-cross-i686-linux-gnu-8.5.0-lib/i686-linux-gnu/lib -lgcc_s}} %{pthread:-lpthread} %{shared:-lc} %{!shared:%{profile:-
lc_p}%{!profile:-lc}};:%{shared:-lc} %{!shared:%{profile:-lc_p}%{!profile:-lc}} %{!static: -ldl}}

Curiously, /gnu/store/53i7hxqwf3apvz77bsapjvrigjiimg29-gcc-cross-i686-linux-gnu-8.5.0-lib/i686-linux-gnu/lib
is actualy present! Let's compile in verbose mode.

$ i686-linux-gnu-gcc -v conftest.o

Output:
Toggle quote (8 lines)
> Using built-in specs.
> COLLECT_GCC=i686-linux-gnu-gcc
> COLLECT_LTO_WRAPPER=/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/8.5.0/lto-wrapper
> Target: i686-linux-gnu
> Configured with:
> Thread model: posix
> gcc version 8.5.0 (GCC)
> COMPILER_PATH=/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/8.5.0/:/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/8.5.0/:/gnu/store/[...]-
gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/:/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-lib/lib/gcc/i686-linux-gnu/8.5.0/:/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-
lib/lib/gcc/i686-linux-gnu/
Toggle quote (1 lines)
> CROSS_LIBRARY_PATH=/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib/:/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33-static/lib/:/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-
lib/lib/gcc/i686-linux-gnu/8.5.0/:/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib
Toggle quote (2 lines)
> COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
> /gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/8.5.0/collect2 -plugin /gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/8.5.0/liblto_plugin.so
-plugin-opt=/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0/libexec/gcc/i686-linux-gnu/8.5.0/lto-wrapper -plugin-opt=-fresolution=/tmp/guix-build-hello-2.10.drv-0/ccxP5sep.res -plugin-opt=-pass-
through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --eh-
frame-hdr -m elf_i386 -dynamic-linker /gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib/ld-linux.so.2 /gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib/crt1.o /gnu/store/[...]-glibc-cross-i686-
linux-gnu-2.33/lib/crti.o /gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-lib/lib/gcc/i686-linux-gnu/8.5.0/crtbegin.o -L/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib -L/gnu/store/[...]-glibc-
cross-i686-linux-gnu-2.33-static/lib -L/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-lib/lib/gcc/i686-linux-gnu/8.5.0 -L/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib conftest.o -lgcc --as-
needed -lgcc_s --no-as-needed -L/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib -rpath=/gnu/store/[...]-glibc-cross-i686-linux-gnu-2.33/lib -rpath=/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-
lib/i686-linux-gnu/lib -lgcc_s -lc -lgcc --as-needed -lgcc_s --no-as-needed /gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-lib/lib/gcc/i686-linux-gnu/8.5.0/crtend.o /gnu/store/[...]-glibc-cross-i686-
linux-gnu-2.33/lib/crtn.o
Toggle quote (3 lines)
> i686-linux-gnu-ld: cannot find -lgcc_s
> i686-linux-gnu-ld: cannot find -lgcc_s

What went wrong here? I took a look at the folowing entry in CROSS_LIBRARY_PATH:
/gnu/store/[...]-gcc-cross-i686-linux-gnu-8.5.0-lib/lib/gcc/i686-linux-gnu/8.5.0/.
In this directory, there is a "libgcc.a", but not a "libgcc_s.so"! So, we have
a static libgcc library, but not a dynamic libgcc_s library!

To be investigated ... or worked around by tweaking CROSS_LIBRARY_PATH ...
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYL8tJxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7helAQCyUSYOPOf54oX8+OrGRe9jGO8Y
Yjcoafxon5Cw5TAQuwEAyilTvHmorq3t+cKXUgKwcC4bAYn3SGyPHebOeCOhUQU=
=r5OK
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 8 Jun 2021 16:23
(address . 48913@debbugs.gnu.org)
3eab25f1bb94305603a494a240c30e00b228576a.camel@telenet.be
Some digging.

Currently, there exists a gcc-7-cross-toolexeclibdir.patch.
It is applied to gcc 6 and gcc 7 but not gcc 8.

Looking at 'cross-gcc' in 'gnu/packages/cross-base.scm',
we have

(patches
(append
(origin-patches (package-source xgcc))
(append (cond
((version>=? (package-version xgcc) "8.0")
(search-patches "gcc-8-cross-environment-variables.patch"))
((version>=? (package-version xgcc) "6.0")
(search-patches "gcc-7-cross-toolexeclibdir.patch"
"gcc-6-cross-environment-variables.patch"))
(else
(search-patches "gcc-cross-environment-variables.patch")))
(cross-gcc-patches xgcc target))))

The patches for gcc-8+ were introduced in 83b0a7f41bccb7b46f1d443e80a22c61a3ff92bc.
Seems like we forgot to include gcc-7-cross-toolexeclibdir.patch!
I tried to add this patch, but the patch doesn't apply to the gcc 8 code,
so I guess I'll have to port it to gcc 8.

So I cloned the git repository of GCC, and it appears toolexeclibdir is currently
in GCC 8! But perhaps a mistake has been made somewhere ... to be investigated.

(Now looking at libgcc/configure.ac)
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYL99WhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uLgAQC9gS++kNlCtlXJesWhuA1O8CDf
PSkVypyBiNJ2t6ZbEgEAqCHhPQZaCX2vok24BSAFPUMmDPJ6o+kvGkp66SKnWgA=
=Ls+6
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 8 Jun 2021 17:25
(address . 48913@debbugs.gnu.org)
7bf9667b405c900fb484521964c10d0a718fab04.camel@telenet.be
Maxime Devos schreef op di 08-06-2021 om 10:41 [+0200]:
Toggle quote (8 lines)
> I tested this on 683eb7c5b118440001b89944563603a39fc2ac05.
> The problem does not occur on master.
>
> How to reproduce:
>
> # --target=aarch64-linux-gnu also fails, but that's another issue
> ./pre-inst-env guix build --target=i686-linux-gnu hello --keep-failed

I have found a solution: passing --with-slibdir to GCC's configure
script. Not sure if that's the proper solution though. GNU Hello
now builds succesfully! I'll test with a few more packages later
and then ‘formally’ submit the patch (after writing a commit message).

Greetings,
Maxime.
Toggle diff (37 lines)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 9487ac9238..6e64450b13 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -169,12 +170,23 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
))
;; Install cross-built libraries such as libgcc_s.so in
- ;; the "lib" output.
+ ;; the "lib" output. (But see below.)
,@(if libc
`((string-append "--with-toolexeclibdir="
(assoc-ref %outputs "lib")
"/" ,target "/lib"))
'())
+ ;; At least for GCC 8.0, libgcc_s.so and libstdc++.so
+ ;; are not installed in the location specified in
+ ;; --with-toolexeclibdir so GCC will not find it
+ ;; when cross-compiling, say, GNU Hello.
+ ;;
+ ;; Work-around by specifying slibdir.
+ ,@(if (and libc (version>=? (package-version xgcc) "8.0"))
+ `((string-append "--with-slibdir="
+ (assoc-ref %outputs "lib")
+ "/" ,target "/lib"))
+ '())
;; For a newlib (non-glibc) target
,@(if (cross-newlib? target)
'("--with-newlib")
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYL+L5hccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7nxvAQClpnJxAgVmRB9XIPCZHVSu/+BY
ySFsKr7vqdqpp/9GLAD/WBz0pOJYWWy16I81f5SyAE6YNr+XIj6TcDMJDFEpbQc=
=rO0A
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 18 Jun 2021 11:32
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 48913@debbugs.gnu.org)
87a6nnikm8.fsf@gnu.org
Hi,

Maxime Devos <maximedevos@telenet.be> skribis:

Toggle quote (2 lines)
> ./pre-inst-env guix build --target=i686-linux-gnu hello --keep-failed

“i686-linux-gnu” is not among the supported cross-compilation triplets,
which are roughly those that appears in (@ (gnu ci) %cross-targets).

It’s rarely useful to cross-compile to i686-linux-gnu because you can
just build natively on an x86_64-linux-gnu machine:

guix build -s i686-linux hello

All this to say, I don’t think we should spend energy on the
i686-linux-gnu cross toolchain.

WDYT?

Ludo’.
L
L
Ludovic Courtès wrote on 18 Jun 2021 11:33
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 48913@debbugs.gnu.org)
875yybikkc.fsf@gnu.org
Maxime Devos <maximedevos@telenet.be> skribis:

Toggle quote (5 lines)
> I have found a solution: passing --with-slibdir to GCC's configure
> script. Not sure if that's the proper solution though. GNU Hello
> now builds succesfully! I'll test with a few more packages later
> and then ‘formally’ submit the patch (after writing a commit message).

Could you check whether aarch64-linux-gnu or armhf-linux-gnueabihf (say)
have the problem, and whether this patch addresses it?

Thanks,
Ludo’.
M
M
Maxime Devos wrote on 19 Jun 2021 09:37
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 48913@debbugs.gnu.org)
f711a176b3b78939fd2199efbbc415327d077e3e.camel@telenet.be
Ludovic Courtès schreef op vr 18-06-2021 om 11:33 [+0200]:
Toggle quote (10 lines)
> Maxime Devos <maximedevos@telenet.be> skribis:
>
> > I have found a solution: passing --with-slibdir to GCC's configure
> > script. Not sure if that's the proper solution though. GNU Hello
> > now builds succesfully! I'll test with a few more packages later
> > and then ‘formally’ submit the patch (after writing a commit message).
>
> Could you check whether aarch64-linux-gnu or armhf-linux-gnueabihf (say)
> have the problem, and whether this patch addresses it?

This patch (passing --with-slibdir) doesn't actualy fully work
(when cross-compiling to i686-linux-gnu from a x86_64-linux),
as libstdc++ is not installed in the right place
(and other stuff like libusan, but those are less critical IMHO).

I sent a more complete (and hackier) patch as part of the
patch series for implementing cross-compilation in Meson
(not really the right place, I know, but it's hard to test
cross-compilation when the cross-compiler is broken),
see [PATCH v3 core-updates 36/37: Fix cross-compiler for i686-linux-gnu]

I'll send a mail to bug#49025 asking people to respond about
that patch at bug#48913, to keep things separate.

I'll test whether aarch64-linux-gnu and armhf-linux-gnueabihf
have the same problem and whether the patch (from bug#48913)
addresses it.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYM2eqxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7moJAQCXkiwPTb6TkalWdyOxdscB65+4
9fYiOx6EbCtIOpQwvgEAtwmwNGPCwkRr0lvEYKgRhvhChsFqYE7E9Y0bkecD9wk=
=CeF3
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 19 Jun 2021 13:05
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 48913@debbugs.gnu.org)
b8be73284dcf792b196daafe1d987cc0e6f00ef9.camel@telenet.be
Ludovic Courtès schreef op vr 18-06-2021 om 11:33 [+0200]:
Toggle quote (3 lines)
> Could you check whether aarch64-linux-gnu or armhf-linux-gnueabihf (say)
> have the problem, and whether this patch addresses it?

The second triplet appears to be invalid.

$ ./pre-inst-env guix build hello --target=armhf-linux-gnueabihf
Toggle quote (3 lines)
> checking target system type... Invalid configuration `armhf-linux-gnueabihf': machine `armhf-unknown' not recognized
> configure: error: /gnu/store/yqmhgw1fwmb9x498d4mpq5y046zcv3lw-bash-minimal-5.1.8/bin/bash ./config.sub armhf-linux-gnueabihf failed
> error: in phase 'configure': uncaught exception: [...]
(during the build of binutils-cross-armhf-linux-gnuabihf)

$ ./pre-inst-env guix build hello --target=arm-linux-gnueabihf
# ^ replacing armhf with arm
Toggle quote (2 lines)
> [ plenty of output, not yet completed ]

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYM3PfBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iJ/AP9O0uf57fsN/hR8I483veNTJbkS
PKbhKhPxprZzeEW7WgD/UK2R/Ebpv1ggWnnmtJamChA6itZUffExqU9a7pwoMQo=
=YMvE
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 19 Jun 2021 13:59
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 48913@debbugs.gnu.org)
3dbf1da0ed5925483e972b0367b745ca895278c3.camel@telenet.be
Ludovic Courtès schreef op vr 18-06-2021 om 11:33 [+0200]:
Toggle quote (3 lines)
> Could you check whether aarch64-linux-gnu or armhf-linux-gnueabihf (say)
> have the problem, and whether this patch addresses it?

I tried
./pre-inst-env guix build hello --target=arm-linux-gnueabihf

with the revised patch, but it fails building
/gnu/store/l6yhx9axhfbdmk7cm8cf9mql4h8mrqmc-glibc-cross-arm-linux-gnueabihf-2.33.drv.
I'll update to latest core-updates and retry with and without the patch.

Build log attached. There is an ICE, and dmesg doesn't note any OOM errors.

Greetings,
Maxime.
Attachment: file
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYM3cChccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7rz7AP4n6G4LDmAhEQVYfl4qKvDnGopT
L2VpFC3FzaJuyw4G/QEA4kSQ075vF37orA5sKOKzHe22HGEBnU+mN0btr98bCQg=
=0sWY
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 3 Jul 2021 15:40
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 48913-done@debbugs.gnu.org)
4bd12f1821cff943921a892876ef5ff616bc91eb.camel@telenet.be
Ludovic Courtès schreef op vr 18-06-2021 om 11:32 [+0200]:
Toggle quote (19 lines)
> Hi,
>
> Maxime Devos <maximedevos@telenet.be> skribis:
>
> > ./pre-inst-env guix build --target=i686-linux-gnu hello --keep-failed
>
> “i686-linux-gnu” is not among the supported cross-compilation triplets,
> which are roughly those that appears in (@ (gnu ci) %cross-targets).
>
> It’s rarely useful to cross-compile to i686-linux-gnu because you can
> just build natively on an x86_64-linux-gnu machine:
>
> guix build -s i686-linux hello
>
> All this to say, I don’t think we should spend energy on the
> i686-linux-gnu cross toolchain.
>
> WDYT?

Agreed, closing. Though if someone has the same issue when building
a cross-compiler from, say, aarch64 to i686, then I'd recommend reopening
it.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYOBoxRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tyJAQClaJZZhiKyEvVNkIH0M5+tYVOJ
hGwVZA4MLjvwUr+uwQD/QvTtlnJtBtxQBRjYKzibDl0eY6B84iaMEbwdbw1oAQk=
=kHiD
-----END PGP SIGNATURE-----


Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 48913@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 48913
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch