Subject: bug#29402: closed (Re: bug#29402: Failure to cross-compile GNU Hello for armhf-linux target)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 24 Nov 2017 00:53:02 +0000

Your bug report

#29402: Failure to cross-compile GNU Hello for armhf-linux target

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29402: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29402
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29402: Failure to cross-compile GNU Hello for armhf-linux target
From: Chris Marusich <[email-masked]>
To: [email-masked] (Ludovic Courtès)
Cc: [email-masked]
Date: Thu, 23 Nov 2017 16:52:13 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) writes:

> The argument to --target must be a GNU triplet, not a Guix “system
> type.”

Ah, I see!  Thank you.  When I tried again using the target you
suggested, it worked.

I have some follow-up questions, so I've sent a a follow-up email to
guix-devel.

-- 
Chris

Subject: Failure to cross-compile GNU Hello for armhf-linux target
From: Chris Marusich <[email-masked]>
To: [email-masked]
Date: Wed, 22 Nov 2017 08:57:46 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

On my x86_64 GuixSD machine, using Guix commit
77f921587c6b784e84b98a9f2e9c821f73114340, GNU Hello fails to build for
the armhf-linux target.  It builds for the i686-linux, aarch64-linux,
and mip64el-linux targets.

I'm trying to build it using the following command, invoked from the
Guix source tree:

  ./pre-inst-env guix build --no-substitutes --target=armhf-linux hello

Here are the last few lines of output:

--8<---------------cut here---------------start------------->8---
starting phase `configure'
source directory: "/tmp/guix-build-binutils-cross-armhf-linux-2.28.drv-0/binutils-2.28" (relative from build: ".")
build directory: "/tmp/guix-build-binutils-cross-armhf-linux-2.28.drv-0/binutils-2.28"
configure flags: ("CONFIG_SHELL=/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash" "SHELL=/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash" "--prefix=/gnu/store/gaap2chgcwkhk6z0vp4z47cy6rsxds1q-binutils-cross-armhf-linux-2.28" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" "--target=armhf-linux" "--with-sysroot=/" "LDFLAGS=-static-libgcc" "--with-lib-path=/no-ld-lib-path" "--enable-install-libbfd" "--enable-deterministic-archives")
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... Invalid configuration `armhf-linux': machine `armhf' not recognized
configure: error: /gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash ./config.sub armhf-linux failed
phase `configure' failed after 0.2 seconds
builder for `/gnu/store/3gqs8b7ch1w8xsc2adjnn8v7gm2ls8s1-binutils-cross-armhf-linux-2.28.drv' failed with exit code 1
@ build-failed /gnu/store/3gqs8b7ch1w8xsc2adjnn8v7gm2ls8s1-binutils-cross-armhf-linux-2.28.drv - 1 builder for `/gnu/store/3gqs8b7ch1w8xsc2adjnn8v7gm2ls8s1-binutils-cross-armhf-linux-2.28.drv' failed with exit code 1
cannot build derivation `/gnu/store/qhqngzgc0q7c1s3l25sm5y7mhqp99ciy-hello-2.10.drv': 1 dependencies couldn't be built
guix build: error: build failed: build of `/gnu/store/qhqngzgc0q7c1s3l25sm5y7mhqp99ciy-hello-2.10.drv' failed
--8<---------------cut here---------------end--------------->8---

It looks like the configure phase of the derivation that builds
binutils-cross-armhf-linux-2.28 failed because "armhf" is supposedly not
a recognized machine.  However, "armhf-linux" is listed as a supported
platform in the Guix manual ((guix) GNU Distribution), so I expected
this to work.  What's going on here?

GNU Hello successfully builds on my machine for the x86_64-linux,
i686-linux, aarch64-linux, and mips64el-linux platforms (i.e., all of
the other platforms listed as supported in the Guix manual).

-- 
Chris