emacsy-minimal fails to build

  • Done
  • quality assurance status badge
Details
2 participants
  • Maxime Devos
  • Xinglu Chen
Owner
unassigned
Submitted by
Xinglu Chen
Severity
normal
X
X
Xinglu Chen wrote on 4 Mar 2021 22:37
(address . bug-guix@gnu.org)
875z26mwhh.fsf@yoctocell.xyz
Hi,

While trying to install Nomad, the emacsy-minimal packages fails to
build.

Toggle snippet (24 lines)
[...]

phase `unpack' succeeded after 0.0 seconds
starting phase `bootstrap'
patch-shebang: build-aux/git-version-gen: changing `/bin/sh' to
`/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh'
running './autogen.sh'
patch-shebang: ./autogen.sh: changing `/bin/sh' to
`/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh'
./autogen.sh: line 2: autoreconf: command not found
command "./autogen.sh" failed with status 127
builder for
`/gnu/store/1xz2q90jcv10g24jgv4lkcdvi7qv5wd4-emacsy-minimal-0.4.1-37-g5f91ee6.drv'
failed with exit code 1
build of
/gnu/store/1xz2q90jcv10g24jgv4lkcdvi7qv5wd4-emacsy-minimal-0.4.1-37-g5f91ee6.drv
failed
View build log at
'/var/log/guix/drvs/1x/z2q90jcv10g24jgv4lkcdvi7qv5wd4-emacsy-minimal-0.4.1-37-g5f91ee6.drv.bz2'.
guix build: error: build of
`/gnu/store/1xz2q90jcv10g24jgv4lkcdvi7qv5wd4-emacsy-minimal-0.4.1-37-g5f91ee6.drv'
failed

Since emacsy-minimal uses the gnu-build-system, I thought that
`autoreconf` would already be available in the build environment, no?

I was able to reproduce this with:

$ guix time-machine --commit=bc10203 -- build emacsy-minimal

Any help would be appreciated!
M
M
Maxime Devos wrote on 5 Mar 2021 20:12
971bcf9ae6a20ac64657f4e6ddf0f0f82fe5473b.camel@telenet.be
On Thu, 2021-03-04 at 22:37 +0100, Xinglu Chen wrote:
Toggle quote (10 lines)
> Hi,
>
> While trying to install Nomad, the emacsy-minimal packages fails to
> build.
>
> [...]
>
> Since emacsy-minimal uses the gnu-build-system, I thought that
> `autoreconf` would already be available in the build environment, no?

gnu-build-system does not imply "autoconf" as a native-input.
gnu-build-system refers to packages that have a "./configure && make && make check
&& make install" build system, these do not necessarily use autoconf
and automake. And when they do, the generated Makefile.in and configure
script are often included in the release tarball, in which case
gnu-build-system does not try to call "autoreconf".

(IMHO gnu-build-system should always regenerate configure and Makefile.in
except when it causes bootstrapping problems, but that's a separate matter.)

I propose the attached patch, which seems to let "emacsy-minimal" build
(on top of commit 4bc9a1f4e3bd39302b4ceaab8589a2e6ef82c4bd in my case).
I've also fixed a build input of nomad (wrong variant of gnutls). I can
now start nomad!

Toggle quote (2 lines)
> Any help would be appreciated!

It is a known issue, but it seems to have slippen through the cracks.

Greetings, Maxime.
--
Maxime Devos <maximedevos@telenet.be>
PGP Key: C1F3 3EE2 0C52 8FDB 7DD7 011F 49E3 EE22 1917 25EE
Freenode handle: mdevos
*Not* a guix committer
From c4057074960a525389f781cc30d8c2b82c2e48e5 Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Fri, 5 Mar 2021 20:03:19 +0100
Subject: [PATCH] gnu: nomad: Fix build.


* gnu/packages/guile-xyz.scm
(emacsy-minimal)[native-inputs]: Add autotools inputs and
use guile-2.2 instead of guile-3.0.
(nomad)[inputs]: Use the guile2.2 version of gnutls.
---
gnu/packages/guile-xyz.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 45b3a82d00..9c237da8f7 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3254,6 +3254,11 @@ in C using Gtk+-3 and WebKitGtk.")
(sha256
(base32 "03ym14g9qhjqmryr5z065kynqm8yhmvnbs2djl6vp3i9cmqln8cl"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("guile" ,guile-2.2)
+ ,@(alist-delete "guile" (package-native-inputs emacsy))))
(inputs
`(("guile" ,guile-2.2)
("guile-lib" ,guile2.2-lib)
@@ -3333,7 +3338,7 @@ perform geometrical transforms on JPEG images.")
("guile-lib" ,guile2.2-lib)
("guile-readline" ,guile2.2-readline)
("guile-gcrypt" ,guile2.2-gcrypt)
- ("gnutls" ,gnutls)
+ ("guile-gnutls" ,guile2.2-gnutls)
("g-golf" ,g-golf)
("shroud" ,shroud)
("emacsy" ,emacsy-minimal)
--
2.30.1
-----BEGIN PGP SIGNATURE-----

iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYEKCrhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7oR7AQCaUyPmHZo/hyK5MeWiiMJeZ+ie
OIPzmmDbpA2ygrE9jAEAzDe6xbrqHVpEk0CmoCEfQXfVcAEk1N9qaNKivs5DFwE=
=vit2
-----END PGP SIGNATURE-----


X
X
Xinglu Chen wrote on 5 Mar 2021 22:36
87r1ktqo3q.fsf@yoctocell.xyz
On Fri, Mar 05 2021, Maxime Devos wrote:

Toggle quote (19 lines)
> On Thu, 2021-03-04 at 22:37 +0100, Xinglu Chen wrote:
>> Hi,
>>
>> While trying to install Nomad, the emacsy-minimal packages fails to
>> build.
>>
>> [...]
>>
>> Since emacsy-minimal uses the gnu-build-system, I thought that
>> `autoreconf` would already be available in the build environment, no?
>
> gnu-build-system does not imply "autoconf" as a native-input.
> gnu-build-system refers to packages that have a "./configure && make
> && make check && make install" build system, these do not necessarily
> use autoconf and automake. And when they do, the generated
> Makefile.in and configure script are often included in the release
> tarball, in which case gnu-build-system does not try to call
> "autoreconf".

Thanks for the explanation!

Toggle quote (5 lines)
> I propose the attached patch, which seems to let "emacsy-minimal" build
> (on top of commit 4bc9a1f4e3bd39302b4ceaab8589a2e6ef82c4bd in my case).
> I've also fixed a build input of nomad (wrong variant of gnutls). I can
> now start nomad!

Great, it works for me too. Would you mind sending the patch to the
guix-patches mailing list?
Closed
?