* bug#65323: build failure on Alpine Linux
@ 2023-08-15 21:54 Bruno Haible
2023-08-16 11:51 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Bruno Haible @ 2023-08-15 21:54 UTC (permalink / raw)
To: 65323
A build of the current GNU Emacs sources on Alpine Linux 3.18 fails:
$ ./configure ... --without-all --without-x
$ make
...
make[2]: Leaving directory '/home/bruno/emacs/doc/misc'
./build-aux/install-sh -c -d ./info
(cd ./doc && \
AWK='awk' ../build-aux/make-info-dir ../build-aux/dir_top emacs/emacs.texi lispintro/emacs-lisp-intro.texi lispref/elisp.texi misc/auth.texi misc/autotype.texi misc/bovine.texi misc/calc.texi misc/cc-mode.texi misc/cl.texi misc/dbus.texi misc/dired-x.texi misc/ebrowse.texi misc/ede.texi misc/ediff.texi misc/edt.texi misc/efaq.texi misc/eglot.texi misc/eieio.texi misc/emacs-gnutls.texi misc/emacs-mime.texi misc/epa.texi misc/erc.texi misc/ert.texi misc/eshell.texi misc/eudc.texi misc/eww.texi misc/flymake.texi misc/forms.texi misc/gnus.texi misc/htmlfontify.texi misc/idlwave.texi misc/ido.texi misc/info.texi misc/mairix-el.texi misc/message.texi misc/mh-e.texi misc/modus-themes.org misc/newsticker.texi misc/nxml-mode.texi misc/octave-mode.texi misc/org.org misc/pcl-cvs.texi misc/pgg.texi misc/rcirc.texi misc/reftex.texi misc/remember.texi misc/sasl.texi misc/sc.texi misc/semantic.texi misc/ses.texi misc/sieve.texi misc/smtpmail.texi misc/speedbar.texi misc/srecode.texi misc/todo-mode.texi misc/tramp.texi misc/transient.texi misc/url.texi misc/use-package.texi misc/vhdl-mode.texi misc/vip.texi misc/viper.texi misc/vtable.texi misc/widget.texi misc/wisent.texi misc/woman.texi \
) >info/dir.tmp && mv info/dir.tmp info/dir
awk: bad regex '@value{emacsname}': Invalid contents of {}
make[1]: *** [Makefile:1186: info/dir] Error 1
make[1]: Leaving directory '/home/bruno/emacs'
The problem is apparently the 'awk' program that ships with Alpine Linux:
$ awk --version
awk: unrecognized option: version
BusyBox v1.36.1 (2023-06-02 00:42:02 UTC) multi-call binary.
Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
-v VAR=VAL Set variable
-F SEP Use SEP as field separator
-f FILE Read program from FILE
-e AWK_PROGRAM
It would be good if the INSTALL file would mention this requirement to
have a decent 'awk' program.
Bruno
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-15 21:54 bug#65323: build failure on Alpine Linux Bruno Haible
@ 2023-08-16 11:51 ` Eli Zaretskii
2023-08-16 14:11 ` Robert Pluim
2023-08-16 22:59 ` Bruno Haible
0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2023-08-16 11:51 UTC (permalink / raw)
To: Bruno Haible; +Cc: 65323
> From: Bruno Haible <bruno@clisp.org>
> Date: Tue, 15 Aug 2023 23:54:14 +0200
>
> A build of the current GNU Emacs sources on Alpine Linux 3.18 fails:
>
> $ ./configure ... --without-all --without-x
> $ make
> ...
> make[2]: Leaving directory '/home/bruno/emacs/doc/misc'
> ./build-aux/install-sh -c -d ./info
> (cd ./doc && \
> AWK='awk' ../build-aux/make-info-dir ../build-aux/dir_top emacs/emacs.texi lispintro/emacs-lisp-intro.texi lispref/elisp.texi misc/auth.texi misc/autotype.texi misc/bovine.texi misc/calc.texi misc/cc-mode.texi misc/cl.texi misc/dbus.texi misc/dired-x.texi misc/ebrowse.texi misc/ede.texi misc/ediff.texi misc/edt.texi misc/efaq.texi misc/eglot.texi misc/eieio.texi misc/emacs-gnutls.texi misc/emacs-mime.texi misc/epa.texi misc/erc.texi misc/ert.texi misc/eshell.texi misc/eudc.texi misc/eww.texi misc/flymake.texi misc/forms.texi misc/gnus.texi misc/htmlfontify.texi misc/idlwave.texi misc/ido.texi misc/info.texi misc/mairix-el.texi misc/message.texi misc/mh-e.texi misc/modus-themes.org misc/newsticker.texi misc/nxml-mode.texi misc/octave-mode.texi misc/org.org misc/pcl-cvs.texi misc/pgg.texi misc/rcirc.texi misc/reftex.texi misc/remember.texi misc/sasl.texi misc/sc.texi misc/semantic.texi misc/ses.texi misc/sieve.texi misc/smtpmail.texi misc/speedbar.texi misc/srecode.texi misc/todo-mode.texi misc/tramp.texi misc/transient.texi misc/url.texi misc/use-package.texi misc/vhdl-mode.texi misc/vip.texi misc/viper.texi misc/vtable.texi misc/widget.texi misc/wisent.texi misc/woman.texi \
> ) >info/dir.tmp && mv info/dir.tmp info/dir
> awk: bad regex '@value{emacsname}': Invalid contents of {}
> make[1]: *** [Makefile:1186: info/dir] Error 1
> make[1]: Leaving directory '/home/bruno/emacs'
>
> The problem is apparently the 'awk' program that ships with Alpine Linux:
>
> $ awk --version
> awk: unrecognized option: version
> BusyBox v1.36.1 (2023-06-02 00:42:02 UTC) multi-call binary.
>
> Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
>
> -v VAR=VAL Set variable
> -F SEP Use SEP as field separator
> -f FILE Read program from FILE
> -e AWK_PROGRAM
>
>
> It would be good if the INSTALL file would mention this requirement to
> have a decent 'awk' program.
I think it goes without saying that every program invoked by the build
must be "decent".
Seriously, though: I don't understand what would you like to see
written there about this. Are we using some feature that is not
standard in Awk? If not, this should be taken up with Alpine Linux
developers, I think.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-16 11:51 ` Eli Zaretskii
@ 2023-08-16 14:11 ` Robert Pluim
2023-08-16 22:59 ` Bruno Haible
1 sibling, 0 replies; 8+ messages in thread
From: Robert Pluim @ 2023-08-16 14:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 65323, Bruno Haible, Glenn Morris
>>>>> On Wed, 16 Aug 2023 14:51:23 +0300, Eli Zaretskii <eliz@gnu.org> said:
>> From: Bruno Haible <bruno@clisp.org>
>> Date: Tue, 15 Aug 2023 23:54:14 +0200
>>
>> A build of the current GNU Emacs sources on Alpine Linux 3.18 fails:
>>
>> $ ./configure ... --without-all --without-x
>> $ make
>> ...
>> make[2]: Leaving directory '/home/bruno/emacs/doc/misc'
>> ./build-aux/install-sh -c -d ./info
>> (cd ./doc && \
>> AWK='awk' ../build-aux/make-info-dir ../build-aux/dir_top emacs/emacs.texi lispintro/emacs-lisp-intro.texi lispref/elisp.texi misc/auth.texi misc/autotype.texi misc/bovine.texi misc/calc.texi misc/cc-mode.texi misc/cl.texi misc/dbus.texi misc/dired-x.texi misc/ebrowse.texi misc/ede.texi misc/ediff.texi misc/edt.texi misc/efaq.texi misc/eglot.texi misc/eieio.texi misc/emacs-gnutls.texi misc/emacs-mime.texi misc/epa.texi misc/erc.texi misc/ert.texi misc/eshell.texi misc/eudc.texi misc/eww.texi misc/flymake.texi misc/forms.texi misc/gnus.texi misc/htmlfontify.texi misc/idlwave.texi misc/ido.texi misc/info.texi misc/mairix-el.texi misc/message.texi misc/mh-e.texi misc/modus-themes.org misc/newsticker.texi misc/nxml-mode.texi misc/octave-mode.texi misc/org.org misc/pcl-cvs.texi misc/pgg.texi misc/rcirc.texi misc/reftex.texi misc/remember.texi misc/sasl.texi misc/sc.texi misc/semantic.texi misc/ses.texi misc/sieve.texi misc/smtpmail.texi misc/speedbar.texi misc/srecode.texi misc/todo-mode.texi misc/tramp.texi misc/transient.texi misc/url.texi misc/use-package.texi misc/vhdl-mode.texi misc/vip.texi misc/viper.texi misc/vtable.texi misc/widget.texi misc/wisent.texi misc/woman.texi \
>> ) >info/dir.tmp && mv info/dir.tmp info/dir
>> awk: bad regex '@value{emacsname}': Invalid contents of {}
>> make[1]: *** [Makefile:1186: info/dir] Error 1
>> make[1]: Leaving directory '/home/bruno/emacs'
>>
>> The problem is apparently the 'awk' program that ships with Alpine Linux:
>>
>> $ awk --version
>> awk: unrecognized option: version
>> BusyBox v1.36.1 (2023-06-02 00:42:02 UTC) multi-call binary.
>>
>> Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
>>
>> -v VAR=VAL Set variable
>> -F SEP Use SEP as field separator
>> -f FILE Read program from FILE
>> -e AWK_PROGRAM
>>
>>
>> It would be good if the INSTALL file would mention this requirement to
>> have a decent 'awk' program.
Eli> I think it goes without saying that every program invoked by the build
Eli> must be "decent".
Eli> Seriously, though: I don't understand what would you like to see
Eli> written there about this. Are we using some feature that is not
Eli> standard in Awk? If not, this should be taken up with Alpine Linux
Eli> developers, I think.
As far as I can tell, the gsub line doesnʼt match anything currently
anyway, so we could delete it (but Iʼm not an awk expert).
Robert
--
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-16 11:51 ` Eli Zaretskii
2023-08-16 14:11 ` Robert Pluim
@ 2023-08-16 22:59 ` Bruno Haible
2023-08-17 5:44 ` Eli Zaretskii
1 sibling, 1 reply; 8+ messages in thread
From: Bruno Haible @ 2023-08-16 22:59 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 65323
Eli Zaretskii wrote:
> I think it goes without saying that every program invoked by the build
> must be "decent".
You are assuming more knowledge on my side than I actually had:
* I've built many packages on Alpine Linux. None of these failed
due to 'awk', as far as I remember. I know that configure
scripts invoke 'awk', and this 'awk' program was always sufficient
for configure's purposes.
* I don't know which are the programs that are invoked by the Emacs
build. I thought that all the utilities listed in
https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html
— except for 'diff' — are good enough in Alpine Linux.
> Are we using some feature that is not standard in Awk?
I don't know, since I am not familiar with the Emacs build system. But if
you show me the Awk script(s) that the build executes, I might look whether
it only uses POSIX features [1] and, if so, report a bug to the Alpine
Linux people.
Bruno
[1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-16 22:59 ` Bruno Haible
@ 2023-08-17 5:44 ` Eli Zaretskii
2023-08-17 9:13 ` Robert Pluim
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-08-17 5:44 UTC (permalink / raw)
To: Bruno Haible; +Cc: 65323
> From: Bruno Haible <bruno@clisp.org>
> Cc: 65323@debbugs.gnu.org
> Date: Thu, 17 Aug 2023 00:59:52 +0200
>
> Eli Zaretskii wrote:
>
> > Are we using some feature that is not standard in Awk?
>
> I don't know, since I am not familiar with the Emacs build system. But if
> you show me the Awk script(s) that the build executes, I might look whether
> it only uses POSIX features [1] and, if so, report a bug to the Alpine
> Linux people.
I can only help with something that is obvious:
. The following command will find all references to Awk in the
configure script:
fgrep -wi awk configure
. The following command, if invoked from the top-level directory of
the Emacs source tree, will find several Makefile's in the Emacs
tree which invoke Awk as part of the build process:
fgrep -wiR awk . --include="Makefile.in"
Typically, the couple of directories whose Makefile.in invokes Awk
also have Awk scripts in them.
Not sure if the above is at all relevant, since the error message you
quoted comes from the build-aux/make-info-dir script, so maybe you
should ignore everything I wrote above, and look just at that script
and the Awk commands it runs. (It's a poor-man's install-info.)
HTH
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-17 5:44 ` Eli Zaretskii
@ 2023-08-17 9:13 ` Robert Pluim
2023-08-17 10:00 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Robert Pluim @ 2023-08-17 9:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 65323, Bruno Haible
>>>>> On Thu, 17 Aug 2023 08:44:36 +0300, Eli Zaretskii <eliz@gnu.org> said:
>> From: Bruno Haible <bruno@clisp.org>
>> Cc: 65323@debbugs.gnu.org
>> Date: Thu, 17 Aug 2023 00:59:52 +0200
>>
>> Eli Zaretskii wrote:
>>
>> > Are we using some feature that is not standard in Awk?
>>
I think busyboxʼs awk is being more strict about regexp interval
expressions than eg gawk.
Eli> Not sure if the above is at all relevant, since the error message you
Eli> quoted comes from the build-aux/make-info-dir script, so maybe you
Eli> should ignore everything I wrote above, and look just at that script
Eli> and the Awk commands it runs. (It's a poor-man's install-info.)
The following works for both gawk 5.2.1 and busybox awk 1.37.
diff --git a/build-aux/make-info-dir b/build-aux/make-info-dir
index 3490b7a31f9..64cf2d43f16 100755
--- a/build-aux/make-info-dir
+++ b/build-aux/make-info-dir
@@ -38,7 +38,7 @@
exec "${AWK-awk}" '
function detexinfo() {
- gsub(/@value{emacsname}/, "Emacs")
+ gsub(/@value\{emacsname\}/, "Emacs")
gsub(/@[^{]*\{/, "")
gsub(/}/, "")
}
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-17 9:13 ` Robert Pluim
@ 2023-08-17 10:00 ` Eli Zaretskii
2023-08-17 13:51 ` Robert Pluim
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-08-17 10:00 UTC (permalink / raw)
To: Robert Pluim; +Cc: 65323, bruno
> From: Robert Pluim <rpluim@gmail.com>
> Cc: Bruno Haible <bruno@clisp.org>, 65323@debbugs.gnu.org
> Date: Thu, 17 Aug 2023 11:13:58 +0200
>
> >>>>> On Thu, 17 Aug 2023 08:44:36 +0300, Eli Zaretskii <eliz@gnu.org> said:
>
> >> From: Bruno Haible <bruno@clisp.org>
> >> Cc: 65323@debbugs.gnu.org
> >> Date: Thu, 17 Aug 2023 00:59:52 +0200
> >>
> >> Eli Zaretskii wrote:
> >>
> >> > Are we using some feature that is not standard in Awk?
> >>
>
> I think busyboxʼs awk is being more strict about regexp interval
> expressions than eg gawk.
>
> Eli> Not sure if the above is at all relevant, since the error message you
> Eli> quoted comes from the build-aux/make-info-dir script, so maybe you
> Eli> should ignore everything I wrote above, and look just at that script
> Eli> and the Awk commands it runs. (It's a poor-man's install-info.)
>
> The following works for both gawk 5.2.1 and busybox awk 1.37.
Thanks, please install this on master.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#65323: build failure on Alpine Linux
2023-08-17 10:00 ` Eli Zaretskii
@ 2023-08-17 13:51 ` Robert Pluim
0 siblings, 0 replies; 8+ messages in thread
From: Robert Pluim @ 2023-08-17 13:51 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 65323, bruno
tags 65323 fixed
close 65323 30.1
quit
>>>>> On Thu, 17 Aug 2023 13:00:28 +0300, Eli Zaretskii <eliz@gnu.org> said:
>> From: Robert Pluim <rpluim@gmail.com>
>> The following works for both gawk 5.2.1 and busybox awk 1.37.
Eli> Thanks, please install this on master.
Closing.
Committed as 39e0121354c
Robert
--
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-08-17 13:51 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-15 21:54 bug#65323: build failure on Alpine Linux Bruno Haible
2023-08-16 11:51 ` Eli Zaretskii
2023-08-16 14:11 ` Robert Pluim
2023-08-16 22:59 ` Bruno Haible
2023-08-17 5:44 ` Eli Zaretskii
2023-08-17 9:13 ` Robert Pluim
2023-08-17 10:00 ` Eli Zaretskii
2023-08-17 13:51 ` Robert Pluim
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).