Re: rhel8 test failure confirmation?

Jacob Bachmeyer <[email protected]>
Newsgroups gmane.comp.sysutils.automake.general
Message-ID <[email protected]>
Karl Berry wrote:
> Hi Jacob,
>
>     The guess was the two most probable locations:  /usr/share/autoconf and 
>     /usr/local/share/autoconf.
>
> Wouldn't have worked on my own system :).
>
>     Challenge accepted.  
>
> Thanks!
>
>     if $PERL -I${autom4te_perllibdir:-$(sed -n \
>                   '/autom4te_perllibdir/{s/^.*|| //;s/;$//;s/^.//;s/.$//;p;q}' \
>                 <$(command -v autom4te))} -MAutom4te::FileUtils \
>              -e 'exit defined $INC{q[Time/HiRes.pm]} ? 0 : 1'; then
>        # autom4te uses Time::HiRes
>
> unfortunately we are highly restricted in what we can use in basic
> automake/conf shell code (as opposed to in the tests).  Neither the
> "command" command nor $(...) syntax can be used.
>   

Are you sure about that?  I got a fair bit of pushback on removing 
$(...) from config.guess (where it actually is a problem because 
config.guess is supposed to identify a variety of pre-POSIX systems and 
can be run independently of configure) on the grounds that Autoconf 
locates a POSIX shell and uses it for the bulk of configure (and the 
auxiliary scripts like config.guess).  Of course, Autoconf's "find a 
POSIX shell" logic does not help DejaGnu, which installs a copy of 
config.guess and runs it with /bin/sh according to its #! line...

> For the former, I think there's an autoconf/make macro to look up a
> program name along PATH?

 From a quick glance at the manual, that would be 
AC_PATH_PROG([AUTOM4TE], [autom4te]).

> [...]
>   
> Would you be up for tweaking the check to use such
> least-common-denominator shell stuff?
>   

Let's try:

AC_PATH_PROG([AUTOM4TE], [autom4te])
if test x$autom4te_perllibdir = x; then
  autom4te_perllibdir=`sed -n \
    '/autom4te_perllibdir/{s/^.*|| //;s/;$//;s/^.//;s/.$//;p;q}' <$AUTOM4TE`
fi
if $PERL -I$autom4te_perllibdir -MAutom4te::FileUtils \
         -e 'exit defined $INC{q[Time/HiRes.pm]} ? 0 : 1'; then
  ... 


The backslash-newline in the sed command was added as a precaution 
against line-wrap in email; the line could be combined.

> Ordinarily Perl could not be used either, but since Automake is written
> in Perl, I don't see a problem with doing so here. (If the system
> doesn't have Perl, Automake won't get far.)

If the system lacks Perl, autom4te will not work either.  The proposed 
test uses Perl to determine a characteristic of a program that is 
written in Perl.  :-)

> Not sure if $PERL is already
> defined by the time at which this would be run, but it should be
> possible to arrange with an ac prerequisite if needed.
>   

That should be easy enough to rearrange, since this check must come 
/after/ the autoconf version check---the pattern is only valid since 
autoconf-2.52f, but Automake requires autoconf-2.65 or later.


-- Jacob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.