grep-devel
[Top][All Lists]
Advanced

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

Re: grep-3.5 released [stable]


From: Dennis Clarke
Subject: Re: grep-3.5 released [stable]
Date: Mon, 5 Oct 2020 21:03:12 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.2.2


Dear Sir :

Sorry for the top post but I felt I should explain that I was delayed
and also somewhat distracted by other shiny objects and such. Also
this whole getting older thing seems to be an issue lately. I am going
to get back on top of this and hope we can hammer out what is the magic
that is happening in the configure stage. As I recall there seems to be
a real issue with GREP and EGREP env vars as well as pre-existing grep
binaries located anywhere in the PATH as they are ignored.

On 9/28/20 3:50 PM, Paul Eggert wrote:
> On 9/28/20 8:19 AM, Dennis Clarke wrote:
>> On 9/28/20 4:08 AM, Paul Eggert wrote:
>>> 'configure' automatically looks in /usr/xpg4/bin if none of the grep's
>>> found in the PATH suffice. /usr/bin/grep does not suffice.
>>
>> configure ( once I removed those offending lines checking
>> for grep which I have in multiple flavours ) would report this neatly :
> 
> We can't remove the 'configure' lines checking for grep, since grep is
> busted on some platforms (including plain Solaris). If those 'configure'
> lines reject /usr/local/bin/grep and /usr/local/bin/egrep on your
> platform, we need to figure out why.

Right then. Let's take a look at that.

> To do that, I suggest running this command on an unmodified grep 3.5
> distribution:
> 
> SHELL=/bin/bash bash -x configure CC=cc > configure.log 2>&1
> 
> and looking in 'configure.log' for why your 'grep' failed. Attached is
> the relevant part of the output I get with
> PATH='/usr/bin:/usr/ccs/bin:/r/share1/src/developerstudio12.6/bin' on
> Solaris 10 sparc. How does it compare to yours?

Well firstly I have PATH thus :

alpha$ echo $PATH
/opt/bw/bin:/opt/bw/sbin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/jdk/latest/bin:/opt/developerstudio12.6/bin:/sbin:/bin:/usr/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin:/usr/X11/bin:/opt/schily/bin
alpha$

There in the very beginning we will find :

alpha$ ls -lapb /opt/bw/bin/grep /opt/bw/bin/egrep
-rwxr-xr-x   1 root     root          37 Sep 28 06:46 /opt/bw/bin/egrep
-rwxr-xr-x   1 root     root     1253032 Sep 28 06:46 /opt/bw/bin/grep
alpha$

Thus we see :

alpha$ which grep
/opt/bw/bin/grep
alpha$ grep --version
grep (GNU grep) 3.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see
<http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
alpha$

This is on a very well maintained Oracle/Fujitsu M-class unit :

alpha$ uname -a
SunOS alpha 5.10 Generic_150400-65 sun4u sparc SUNW,SPARC-Enterprise
alpha$ cc -V
cc: Studio 12.6 Sun C 5.15 SunOS_sparc 2017/05/30
alpha$ psrinfo -pv
The physical processor has 6 virtual processors (2-7)
  SPARC64-VII+ (portid 1024 impl 0x7 ver 0xa1 clock 2860 MHz)
alpha$

Right then, let's have a go at your configure.log generation :

alpha$ SHELL=/bin/bash bash -x configure CC=cc > configure.log 2>&1
alpha$ wc -l  configure.log
   11372 configure.log
alpha$
alpha$ grep -n 'ac_compiler_gnu' configure.log
2750:+ ac_compiler_gnu=
3268:+ eval 'ac_val=$ac_compiler_gnu'

So let's take a look there after line 2750 for a while :

alpha$ cat -n configure.log | head -2785 | tail -36
  2750  + ac_compiler_gnu=
  2751  + test -n /opt/bw/bin/grep
  2752  + as_fn_error 0 'no working '\''grep'\'' found
  2753    A working '\''grep'\'' command is needed to build GNU Grep.
  2754    This '\''grep'\'' should support -e and long lines.
  2755    On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  2756    On Solaris 11, install the package text/gnu-grep or
system/xopen/xcu4.' 3715 5
  2757  + as_status=0
  2758  + test 0 -eq 0
  2759  + as_status=1
  2760  + test 5
  2761  + as_lineno=3715
  2762  + as_lineno_stack=as_lineno_stack=
  2763  + printf '%s\n' 'configure:3715: error: no working '\''grep'\''
found
  2764    A working '\''grep'\'' command is needed to build GNU Grep.
  2765    This '\''grep'\'' should support -e and long lines.
  2766    On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  2767    On Solaris 11, install the package text/gnu-grep or
system/xopen/xcu4.'
  2768  + printf '%s\n' 'configure: error: no working '\''grep'\'' found
  2769    A working '\''grep'\'' command is needed to build GNU Grep.
  2770    This '\''grep'\'' should support -e and long lines.
  2771    On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  2772    On Solaris 11, install the package text/gnu-grep or
system/xopen/xcu4.'
  2773  configure: error: no working 'grep' found
  2774    A working 'grep' command is needed to build GNU Grep.
  2775    This 'grep' should support -e and long lines.
  2776    On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  2777    On Solaris 11, install the package text/gnu-grep or
system/xopen/xcu4.
  2778  + as_fn_exit 1
  2779  + set +e
  2780  + as_fn_set_status 1
  2781  + return 1
  2782  + exit 1
  2783  + exit_status=1
  2784  + IFS='
  2785  '
alpha$

That simply can't be correct.  Explains why I see this :

alpha$ pwd
/opt/bw/build/grep-3.5_sunos5.10_sparcv9.003
alpha$
alpha$ ./configure --prefix=/opt/bw --disable-silent-rules \
> --enable-dependency-tracking --enable-threads=posix \
> --without-gnu-ld --with-libsigsegv-prefix=/opt/bw \
> --with-libiconv-prefix=/opt/bw \
> --with-libintl-prefix=/opt/bw
configure: error: no working 'grep' found
  A working 'grep' command is needed to build GNU Grep.
  This 'grep' should support -e and long lines.
  On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  On Solaris 11, install the package text/gnu-grep or system/xopen/xcu4.
alpha$

alpha$ more config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU grep configure 3.5, which was
generated by GNU Autoconf 2.69c.  Invocation command line was

  $ ./configure --prefix=/opt/bw --disable-silent-rules
--enable-dependency-tracking --enable-threads=posix --without-gnu-ld --with-
libsigsegv-prefix=/opt/bw --with-libiconv-prefix=/opt/bw
--with-libintl-prefix=/opt/bw

## --------- ##
## Platform. ##
## --------- ##

hostname = alpha
uname -m = sun4u
uname -r = 5.10
uname -s = SunOS
uname -v = Generic_150400-65

/usr/bin/uname -p = sparc
/bin/uname -X     = System = SunOS
Node = alpha
Release = 5.10
KernelID = Generic_150400-65
Machine = sun4u
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 6

/bin/arch              = sun4
/usr/bin/arch -k       = sun4u
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /opt/bw/bin/
PATH: /opt/bw/sbin/
PATH: /usr/xpg6/bin/
PATH: /usr/xpg4/bin/
PATH: /usr/ccs/bin/
PATH: /usr/jdk/latest/bin/
PATH: /opt/developerstudio12.6/bin/
PATH: /sbin/
PATH: /bin/
PATH: /usr/bin/
PATH: /usr/sbin/
PATH: /usr/dt/bin/
PATH: /usr/openwin/bin/
PATH: /usr/X11/bin/
PATH: /opt/schily/bin/


## ----------- ##
## Core tests. ##
## ----------- ##

configure:3715: error: no working 'grep' found
  A working 'grep' command is needed to build GNU Grep.
  This 'grep' should support -e and long lines.
  On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  On Solaris 11, install the package text/gnu-grep or system/xopen/xcu4.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

.
.
.

etc etc.

There is a ton of stuff that simply is equal to an empty string like
this :

    PCRE_CFLAGS=''

In fact if I remove all lines that end with the empty string ='' then I
see :

alpha$
alpha$ /usr/xpg4/bin/grep -v "\=\'\'" config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU grep configure 3.5, which was
generated by GNU Autoconf 2.69c.  Invocation command line was

  $ ./configure --prefix=/opt/bw --disable-silent-rules
--enable-dependency-tracking --enable-threads=posix --without-gnu-ld
--with-libsigsegv-prefix=/opt/bw --with-libiconv-prefix=/opt/bw
--with-libintl-prefix=/opt/bw

## --------- ##
## Platform. ##
## --------- ##

hostname = alpha
uname -m = sun4u
uname -r = 5.10
uname -s = SunOS
uname -v = Generic_150400-65

/usr/bin/uname -p = sparc
/bin/uname -X     = System = SunOS
Node = alpha
Release = 5.10
KernelID = Generic_150400-65
Machine = sun4u
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 6

/bin/arch              = sun4
/usr/bin/arch -k       = sun4u
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /opt/bw/bin/
PATH: /opt/bw/sbin/
PATH: /usr/xpg6/bin/
PATH: /usr/xpg4/bin/
PATH: /usr/ccs/bin/
PATH: /usr/jdk/latest/bin/
PATH: /opt/developerstudio12.6/bin/
PATH: /sbin/
PATH: /bin/
PATH: /usr/bin/
PATH: /usr/sbin/
PATH: /usr/dt/bin/
PATH: /usr/openwin/bin/
PATH: /usr/X11/bin/
PATH: /opt/schily/bin/


## ----------- ##
## Core tests. ##
## ----------- ##

configure:3715: error: no working 'grep' found
  A working 'grep' command is needed to build GNU Grep.
  This 'grep' should support -e and long lines.
  On Solaris 10, install the package SUNWggrp or SUNWxcu4.
  On Solaris 11, install the package text/gnu-grep or system/xopen/xcu4.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CC_set=set
ac_cv_env_CC_value=/opt/developerstudio12.6/bin/c99
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-Xc -m64 -xarch=sparc -g -errfmt=error
-errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil -xcode=pic32
-xregs=no%appl -xlibmieee -mc -ftrap=%none -xbuiltin=%none -xunroll=1
-xs -xdebugformat=dwarf -errtags=yes -errwarn=%none -erroff=%none'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value='-I/opt/bw/include -D_TS_ERRNO
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600'
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-L/opt/bw/lib
ac_cv_env_LIBS_set=set
ac_cv_env_LIBS_value=-lrt
ac_cv_env_PCRE_CFLAGS_set=
ac_cv_env_PCRE_CFLAGS_value=
ac_cv_env_PCRE_LIBS_set=
ac_cv_env_PCRE_LIBS_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=set
ac_cv_env_PKG_CONFIG_PATH_value=/opt/bw/lib/pkgconfig
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=

## ----------------- ##
## Output variables. ##
## ----------------- ##

AR='/usr/ccs/bin/ar'
AUTOCONF='/opt/bw/bin/autoconf'
AUTOHEADER='/opt/bw/bin/autoheader'
AUTOMAKE='/opt/bw/bin/automake'
AWK='/opt/bw/bin/gawk'
CC='/opt/developerstudio12.6/bin/c99'
CFLAGS='-Xc -m64 -xarch=sparc -g -errfmt=error -errshort=full -xstrconst
-xildoff -xmemalign=8s -xnolibmil -xcode=pic32 -xregs=no%appl -xlibmieee
-mc -ftrap=%none -xbuiltin=%none -xunroll=1 -xs -xdebugformat=dwarf
-errtags=yes -errwarn=%none -erroff=%none'
CPPFLAGS='-I/opt/bw/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600'
ECHO_C='\c'
EGREP='/opt/bw/bin/egrep'
GREP='/opt/bw/bin/grep'
LDFLAGS='-L/opt/bw/lib'
LIBS='-lrt'
PACKAGE_BUGREPORT='bug-grep@gnu.org'
PACKAGE_NAME='GNU grep'
PACKAGE_STRING='GNU grep 3.5'
PACKAGE_TARNAME='grep'
PACKAGE_URL='https://www.gnu.org/software/grep/'
PACKAGE_VERSION='3.5'
PATH_SEPARATOR=':'
PERL='/opt/bw/bin/perl'
PKG_CONFIG_PATH='/opt/bw/lib/pkgconfig'
SED='/opt/bw/bin/sed'
SHELL='/opt/bw/bin/bash'
bindir='${exec_prefix}/bin'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/opt/bw'
program_transform_name='s,x,x,'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "GNU grep"
#define PACKAGE_TARNAME "grep"
#define PACKAGE_VERSION "3.5"
#define PACKAGE_STRING "GNU grep 3.5"
#define PACKAGE_BUGREPORT "bug-grep@gnu.org"
#define PACKAGE_URL "https://www.gnu.org/software/grep/";

configure: exit 1
alpha$
alpha$


Please bear in mind that I had to use the old XPG4 grep to do that. The
GNU grep 3.5 merely blows up in that it seems unable to accept that I
want to exclude all lines that end with "=''".

alpha$
alpha$ /opt/bw/bin/grep --version
grep (GNU grep) 3.5
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others; see
<https://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
alpha$

alpha$ /opt/bw/bin/grep -v "\=\'\'" config.log    ^C

Trust me that doesn't work at all.  However XPG4 grep is happy.

So I will attach my config.log output and all I can say is that even
with GREP and EGREP env vars set to GNU grep 3.5 this process still
fails to detect that there is a grep anywhere. Even the XPG4 grep is
ignored.

Sorry for the hassle.


-- 
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

Attachment: grep-3.5_sunos5.10_sparcv9.003.config.log.xz
Description: application/xz


reply via email to

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