GNU bug report logs - #51457
grep - fails to compile after following steps in README-hacking

Previous Next

Package: grep;

Reported by: Duncan Roe <duncan_roe <at> optusnet.com.au>

Date: Thu, 28 Oct 2021 08:20:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Duncan Roe <duncan_roe <at> optusnet.com.au>
To: 51457 <at> debbugs.gnu.org
Cc: Duncan Roe <duncan_roe <at> optusnet.com.au>
Subject: bug#51457: grep - fails to compile after following steps in README-hacking
Date: Thu, 28 Oct 2021 18:14:44 +1100
Hi,

I downloaded grep commit f0d97db2. Bypassed export GNULIB_SRCDIR. Did
./bootstrap, git submodule..., git commit...., ./configure and make -j17.

Got this error:
>   CC       dirname-lgpl.o
> In file included from basename-lgpl.c:25:
> ./string.h:624:5: error: token "@" is not valid in preprocessor expressions
>   624 | #if @GNULIB_FREE_POSIX@
Also:
> make[3]: *** Waiting for unfinished jobs....
> In file included from ./localeinfo.h:24,
>                  from localeinfo.c:24:
> ./wchar.h:687:5: error: token "@" is not valid in preprocessor expressions
>   687 | #if @GNULIB_FREE_POSIX@

s/@GNULIB_FREE_POSIX@/1/ in string.h and wchar.h. Now:
>   CC       malloc/dynarray_at_failure.o
> In file included from basename-lgpl.c:25:
> ./string.h:625:7: error: token "@" is not valid in preprocessor expressions
>   625 | # if (@REPLACE_FREE@ && !defined free \
Also:
> In file included from ./localeinfo.h:24,
>                  from localeinfo.c:24:
> ./wchar.h:688:7: error: token "@" is not valid in preprocessor expressions
>   688 | # if (@REPLACE_FREE@ && !defined free \

s/@REPLACE_FREE@/0/ in string.h and wchar.h. Now grep builds.

I went back to the clone and tried ./bootstrap &c. but without updating gnulib.
That builds.

Ran `git bisect` in gnulib. The problem starts with commit a4a2d039:
> Author: Paul Eggert <eggert <at> cs.ucla.edu>
> Date:   Tue Sep 7 17:51:39 2021 -0700
>
>     string, wchar: avoid some namespace pollution
>
>     * lib/string.in.h, lib/wchar.in.h:
>     (free): Declare by hand instead of including stdlib.h.
>     This avoids some namespace pollution.  It should also avoid some
>     nested-include problems described by Lucy Phipps in:
>     https://lists.gnu.org/r/bug-gnulib/2021-09/msg00018.html
>     * modules/string, modules/wchar:
>     (Depends-on): Add stdlib, so that REPLACE_FREE has the right value.
>     (Makefile.am): Replace @REPLACE_FREE@ when creating the include file.

Diffed with previous version but my grasp of autotools is inadequate to figure
out what needs to be done.

Over to you,

Cheers ... Duncan.




This bug report was last modified 3 years and 243 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.