unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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).