------------------------------
Message: 7
Date: Thu, 1 Oct 2020 11:07:41 +0200
From: Denis 'GNUtoo' Carikli <gnu...@cyberdimension.org>
To: guix-devel@gnu.org
Subject: How to build Guix to send a patch when Guix build fails?
Message-ID: <20201001110741.1bb8254c@primarylaptop.localdomain>
Content-Type: text/plain; charset="utf-8"
Hi,
Hello
I'd like to send a patch to add a bootloader (u-boot) package for a
single board computer. The patch is trivial and it's already
ready.
However before sending the patch, I'm supposed to build it within Guix
source code and to test it.
I've been trying many variations of 'guix environment --pure guix
--ad-hoc <many packages>' during many many hours, but I still didn't
manage to build Guix. I always have the failure that is in the
build.log that I attached.
I've the patch I attached on top of the following commit:
51eb3e113c gnu: linux-libre 4.19: Update to 4.19.148.
And I did the following commands last night when trying to build Guix:
$ guix pull
$ guix package -u
I did it with the following hardware and distributions configurations:
- Architecture: i686
- Host distribution: Parabola i686 with a x86_64 kernel (5.7.2-gnu-1-64)
- Guix architecture: i686
Is there a command that is known to work to build Guix in a way that
doesn't use any of the host packages?
Are you following the directions in the manual?
cd /path/to/local/guix/repository/with/changes
guix environment guix
(within the environment)
./bootstrap
#unfortunately the next critical line is not in the manual
./configure --localstatedir=/var
make
./pre-inst-env guix build <package-name>
I also tried on another machine with the following configuration:
- Architecture: x86-64
- Host distribution: Parabola x86_64 without guile-json installed
- Guix architecture: x86_64
- Guix environment command: 'guix environment --pure guix --ad-hoc
guile-json
And it wouldn't pick Guix's guile-json, so I assume that for some
reason it tried to use the host's packages somehow.
In that environment, check the value of $GUILE_LOAD_PATH.
I'm trying it, and I see it is empty. That can't be right...
As I was told on IRC, building Guix from Guix latest revision is
supposed to work. However if during the build it really uses
packages from my host distribution (Parabola), then there might be some
combination of packages that makes it fail, so here I hope that with
the right guix environment command it would build.
Denis.
-Jesse