GNU bug report logs - #40641
Building from git breaks when /bin/sh isn't bash

Previous Next

Package: guix;

Reported by: elaexuotee <at> wilsonb.com

Date: Wed, 15 Apr 2020 11:07:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: elaexuotee <at> wilsonb.com
To: 40641 <at> debbugs.gnu.org
Subject: bug#40641: Building from git breaks when /bin/sh isn't bash
Date: Wed, 15 Apr 2020 18:06:25 +0900
[Message part 1 (text/plain, inline)]
When building from git, ./bootstrap ends up generating (via automake) several
Makefiles that set SHELL = /bin/sh. However, some targets contain rules that
make use of bashisms. This leads to breakage when /bin/sh is something other
than bash.

In particular, I am building from a foreign distro which links /bin/sh to dash.
Currently, this ends up breaking the build, the details of which I reported
to guix-devel in [0].

As a workaround, at the moment we have to force make's SHELL to point to bash.
The cleanest way to do this is probably as follows:

    $ make SHELL=$(command -v sh)

since from within guix environment --pure guix, sh ends up pointing to bash.
Just for clarity, here is how this looks for me, currently:

    $ git rev-parse HEAD
    2708ae3d69b54d8323ca84fd9a7fb108a6ee96ba
    $ guix environment --pure guix
    $ readlink -f $(command -v sh)
    /gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash

[0]:https://lists.gnu.org/archive/html/guix-devel/2020-04/msg00232.html
[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 3 years and 61 days ago.

Previous Next


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