"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Omar Polo <op@omarpolo.com>
Subject:
Re: report, gameoftrees portable latest HEAD doesn't compile on Linux
To:
Thomas Adam <thomas@xteddy.org>
Cc:
Hiltjo Posthuma <hiltjo@codemadness.org>, Game of Trees <gameoftrees@openbsd.org>
Date:
Sun, 21 Aug 2022 00:13:40 +0200

Download raw body.

Thread
On 2022/08/20 22:00:01 +0100, Thomas Adam <thomas@xteddy.org> wrote:
> On Sat, 20 Aug 2022 at 21:58, Hiltjo Posthuma <hiltjo@codemadness.org> wrote:
> >
> > Hi,
> >
> > I would just like to report the commit 598139dd22c7c7517a6542803c64e88acd78b162 in the
> > latest gameoftrees portable linux branch broke compilation for me on Void Linux when
> > building it using the steps in the README.portable file.
> 
> Works fine for me.  Can you send me the steps you've taken, and more
> helpfully, any errors?

Can reproduce here, on a-non-exactly-but-still-quite-up-to-date
aarch64 installation of void linux.

[op@philae got-portable]$ ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
configure.ac:4: warning: AC_INIT: not a literal: 0.74-159-g6efd5dc9
autoreconf: configure.ac: tracing
configure.ac:4: warning: AC_INIT: not a literal: 0.74-159-g6efd5dc9
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
configure.ac:4: warning: AC_INIT: not a literal: 0.74-159-g6efd5dc9
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:4: warning: AC_INIT: not a literal: 0.74-159-g6efd5dc9
autoreconf: Leaving directory `.'
[op@philae got-portable]$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/op/w/got-portable':
configure: error: C compiler cannot create executables
See `config.log' for more details


the issue seems to be in a mis-generation of the version.  config.log has

conftest.c:4:25: warning: missing terminating " character
    4 | #define PACKAGE_VERSION "0.74-159-g6efd5dc9
      |                         ^
conftest.c:5:1: warning: missing terminating " character
    5 | "
      | ^

Thomas mentioned on irc that we could probably avoid this by using a
newer autoconf, but as far as i can see there's only 2.69 (and
2.13???) on void linux.  

as a workaround this hack seems to work:

diff --git a/configure.ac b/configure.ac
index 9b351ee3..df8e45d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,10 @@
 # Process this file with autoconf to produce a configure script.
 
+version="$(./util/got-portable-ver.sh)"
+
 AC_PREREQ([2.69])
 AC_INIT([got-portable],
-	m4_esyscmd([util/got-portable-ver.sh]),
+	"$version",
 	[thomas@xteddy.org])
 AC_CONFIG_AUX_DIR(etc)
 AC_CONFIG_SRCDIR([lib/rcsutil.h])