groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [groff] 1.22.4.rc4 - Final RC before official 1.22.4


From: Ingo Schwarze
Subject: Re: [groff] 1.22.4.rc4 - Final RC before official 1.22.4
Date: Sat, 1 Dec 2018 01:20:30 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

Hi,

so here is my final test report.

On Solaris 11, with the following workaround, it built, it installed,
and it runs.

  export groff_cv_decl_needed_hypot=no
  ../configure

I'm not planning to do more testing on Solaris 11 unless somebody asks
for additional information.


Also, i briefly tested on Solaris 10 and on Debian GNU/Linux
8.11 (jessie).  Build, install, running, and unistalling went
cleanly.  I do not intend to do much run-time testing on Solaris
or Linux, though, since i expect that will be well-covered by others.


Testing on Solaris 9 yielded very strange results - as usual with
Solaris 9.  Configure and build went smoothly out of the box, but
then "make install" died like this:

  for f in ; do \
    cp -f $f /home/schwarze/Local9/share/man/man5/g`basename $f`; \
  done
  bash: -c: line 1: syntax error near unexpected token `;'
  *** Error code 2
  make: Fatal error: Command failed for target `install-prefix-man'
  Current working directory /home/schwarze/groff-1.22.4.rc4.solaris9/build
  *** Error code 1
  make: Fatal error: Command failed for target `install-data-am'
  Current working directory /home/schwarze/groff-1.22.4.rc4.solaris9/build
  *** Error code 1
  make: Fatal error: Command failed for target `install-am'
  Current working directory /home/schwarze/groff-1.22.4.rc4.solaris9/build
  *** Error code 1
  make: Fatal error: Command failed for target `install'

Here is the reason:

   > for f in ; do echo "not printed" ; done
   > echo $?
  0
   > echo $SHELL
  /opt/csw/bin/bash
   > /opt/csw/bin/bash --version | head -n 1
  GNU bash, version 4.3.30(1)-release (sparc-sun-solaris2.9)

   > cat test.sh
  for f in ; do echo "not printed" ; done
   > bash test.sh
  test.sh: line 1: syntax error near unexpected token `;'
  test.sh: line 1: `for f in ; do echo "not printed" ; done'
   > which bash
  /usr/bin/bash
   > bash --version
  GNU bash, version 2.05.0(1)-release (sparc-sun-solaris2.9)
  Copyright 2000 Free Software Foundation, Inc.

Now, do we care about bash 2.05?  If we do, we have to avoid
empty for loops.  But i kind of doubt that we care about a shell
from almost twenty years ago...

POSIX is quite specific that the above is valid shell syntax:

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04

  for name [ in [word ... ]]
  do
      compound-list
  done

  First, the list of words following "in" shall be expanded to
  generate a list of items.  Then, the variable "name" shall be set
  to each item, in turn, and the "compound-list" executed each time.
  If no items result from the expansion, the "compound-list" shall
  not be executed.

Extremely brief testing shows, though, that groff is able to run
from the incomplete installation on Solaris 9.


Oh, by the way, the problem with hypot() did not occur on any of
these systems except on Solaris 11.

Anything in particular you want me to have a closer look at on OpenBSD,
Debian Jessie, or Solaris 9, 10, or 11?

Yours,
  Ingo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]