GNU bug report logs - #24256
new module for grep's DFA matcher

Previous Next

Package: grep;

Reported by: Jim Meyering <jim <at> meyering.net>

Date: Wed, 17 Aug 2016 21:05:01 UTC

Severity: wishlist

Tags: patch

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 24256 in the body.
You can then email your comments to 24256 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Wed, 17 Aug 2016 21:05:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jim Meyering <jim <at> meyering.net>:
New bug report received and forwarded. Copy sent to bug-grep <at> gnu.org. (Wed, 17 Aug 2016 21:05:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>, bug-grep <at> gnu.org
Subject: new module for grep's DFA matcher
Date: Wed, 17 Aug 2016 14:03:13 -0700
[Message part 1 (text/plain, inline)]
Now that two gnulib-using packages are using grep's DFA matcher, I am
going to move that code into gnulib, so there is one clear source of
truth.

GNU sed began using dfa.[ch] very recently.
While gawk has been copying grep's dfa.[ch] for a long time, it does
not use gnulib.

To that end, I've written both the add-to-gnulib patch and the
use-from-grep patches and tested via grep's "make distcheck" and via
this for gnulib:

  ./gnulib-tool --create-testdir --dir=/tmp/x --with-tests --test dfa

Note that this merely moves grep/src/dfa.[ch] to gnulib/lib/ and also
moves the DFA-specific tests from grep/tests/. It does not add any new
tests. I am in no great hurry to make the switch, and expect to wait
at least for a few more pending patches by Norihiro Tanaka, syncing
the result to gnulib before pulling the trigger.

This is all the result of a couple of hours last night, so it's almost
certainly not perfect.  Feedback welcome.
[gnulib-dfa.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Wed, 17 Aug 2016 21:15:01 GMT) Full text and rfc822 format available.

Message #8 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jim Meyering <jim <at> meyering.net>, bug-gnulib <at> gnu.org, 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Wed, 17 Aug 2016 14:14:41 -0700
This all sounds good, thanks. Your attachment was a submodule diff (basically, a 
pair of git commit IDs), so not much to review.

I have some dfa.c-related changes pending. I assume it'll be OK for me to commit 
them to grep as needed, and that when you make the switch you'll grab the 
then-current version from grep. If you need me to get out of the water around 
that time, please just let me know.




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Thu, 18 Aug 2016 00:12:01 GMT) Full text and rfc822 format available.

Message #11 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org, "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Wed, 17 Aug 2016 17:11:03 -0700
[Message part 1 (text/plain, inline)]
On Wed, Aug 17, 2016 at 2:14 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> This all sounds good, thanks. Your attachment was a submodule diff
> (basically, a pair of git commit IDs), so not much to review.

Oops. Wrong working directory. Thanks.
I've attached the real diff, this time.

> I have some dfa.c-related changes pending. I assume it'll be OK for me to
> commit them to grep as needed, and that when you make the switch you'll grab
> the then-current version from grep. If you need me to get out of the water
> around that time, please just let me know.

As long as there are still soon-to-be-committed changes for grep's
dfa.[ch], I'm happy to wait.
[gnulib-dfa.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Fri, 09 Sep 2016 05:28:01 GMT) Full text and rfc822 format available.

Message #14 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org, "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Thu, 8 Sep 2016 22:27:12 -0700
[Message part 1 (text/plain, inline)]
On Wed, Aug 17, 2016 at 5:11 PM, Jim Meyering <jim <at> meyering.net> wrote:
> On Wed, Aug 17, 2016 at 2:14 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>> This all sounds good, thanks. Your attachment was a submodule diff
>> (basically, a pair of git commit IDs), so not much to review.
>
> Oops. Wrong working directory. Thanks.
> I've attached the real diff, this time.
>
>> I have some dfa.c-related changes pending. I assume it'll be OK for me to
>> commit them to grep as needed, and that when you make the switch you'll grab
>> the then-current version from grep. If you need me to get out of the water
>> around that time, please just let me know.
>
> As long as there are still soon-to-be-committed changes for grep's
> dfa.[ch], I'm happy to wait.

I have sync'd the latest grep/dfa bits into my gnulib
dfa-module-adding patch, and updated the grep-side patch that makes
grep use that new module. Attached for anyone who cares to review.
If you're interested in trying it, you should first "cd" into grep's
gnulib directory and use "git am gnulib*.diff" to apply the first
patch there. Then "cd .. && git ci -m 'commit local gnulib+dfa change'
-a", then apply the grep patch and rerun the usual ./bootstrap &&
./configure ... && make && make test
[gnulib-new-dfa-module.diff (text/plain, attachment)]
[grep-use-gnulib-s-new-dfa-module.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sat, 10 Sep 2016 18:01:01 GMT) Full text and rfc822 format available.

Message #17 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org, "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 10 Sep 2016 10:59:52 -0700
[Message part 1 (text/plain, inline)]
On Thu, Sep 8, 2016 at 10:27 PM, Jim Meyering <jim <at> meyering.net> wrote:
> On Wed, Aug 17, 2016 at 5:11 PM, Jim Meyering <jim <at> meyering.net> wrote:
>> On Wed, Aug 17, 2016 at 2:14 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>>> This all sounds good, thanks. Your attachment was a submodule diff
>>> (basically, a pair of git commit IDs), so not much to review.
>>
>> Oops. Wrong working directory. Thanks.
>> I've attached the real diff, this time.
>>
>>> I have some dfa.c-related changes pending. I assume it'll be OK for me to
>>> commit them to grep as needed, and that when you make the switch you'll grab
>>> the then-current version from grep. If you need me to get out of the water
>>> around that time, please just let me know.
>>
>> As long as there are still soon-to-be-committed changes for grep's
>> dfa.[ch], I'm happy to wait.
>
> I have sync'd the latest grep/dfa bits into my gnulib
> dfa-module-adding patch, and updated the grep-side patch that makes
> grep use that new module. Attached for anyone who cares to review.
> If you're interested in trying it, you should first "cd" into grep's
> gnulib directory and use "git am gnulib*.diff" to apply the first
> patch there. Then "cd .. && git ci -m 'commit local gnulib+dfa change'
> -a", then apply the grep patch and rerun the usual ./bootstrap &&
> ./configure ... && make && make test

I found/fixed a few nits in the gnulib diff, and changed a test
dependency from progname to getprogname. I have pushed this to gnulib:
[gnulib-new-dfa-module.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sat, 10 Sep 2016 18:16:02 GMT) Full text and rfc822 format available.

Message #20 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org, "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 10 Sep 2016 11:15:11 -0700
[Message part 1 (text/plain, inline)]
On Sat, Sep 10, 2016 at 10:59 AM, Jim Meyering <jim <at> meyering.net> wrote:
> On Thu, Sep 8, 2016 at 10:27 PM, Jim Meyering <jim <at> meyering.net> wrote:
>> On Wed, Aug 17, 2016 at 5:11 PM, Jim Meyering <jim <at> meyering.net> wrote:
>>> On Wed, Aug 17, 2016 at 2:14 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>>>> This all sounds good, thanks. Your attachment was a submodule diff
>>>> (basically, a pair of git commit IDs), so not much to review.
>>>
>>> Oops. Wrong working directory. Thanks.
>>> I've attached the real diff, this time.
>>>
>>>> I have some dfa.c-related changes pending. I assume it'll be OK for me to
>>>> commit them to grep as needed, and that when you make the switch you'll grab
>>>> the then-current version from grep. If you need me to get out of the water
>>>> around that time, please just let me know.
>>>
>>> As long as there are still soon-to-be-committed changes for grep's
>>> dfa.[ch], I'm happy to wait.
>>
>> I have sync'd the latest grep/dfa bits into my gnulib
>> dfa-module-adding patch, and updated the grep-side patch that makes
>> grep use that new module. Attached for anyone who cares to review.
>> If you're interested in trying it, you should first "cd" into grep's
>> gnulib directory and use "git am gnulib*.diff" to apply the first
>> patch there. Then "cd .. && git ci -m 'commit local gnulib+dfa change'
>> -a", then apply the grep patch and rerun the usual ./bootstrap &&
>> ./configure ... && make && make test
>
> I found/fixed a few nits in the gnulib diff, and changed a test
> dependency from progname to getprogname. I have pushed this to gnulib:

I have just now pushed these two commits to grep's repository, making
it use gnulib's new dfa module. The first just updates to latest
gnulib submodule. The second removes the subsumed files and grep's
references to them.
[grep-use-gnulib-dfa-module.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sat, 10 Sep 2016 18:46:02 GMT) Full text and rfc822 format available.

Message #23 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>, sed-devel <at> gnu.org
Cc: 24256 <at> debbugs.gnu.org, "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 10 Sep 2016 11:44:53 -0700
[Message part 1 (text/plain, inline)]
On Sat, Sep 10, 2016 at 11:15 AM, Jim Meyering <jim <at> meyering.net> wrote:
> On Sat, Sep 10, 2016 at 10:59 AM, Jim Meyering <jim <at> meyering.net> wrote:
>> On Thu, Sep 8, 2016 at 10:27 PM, Jim Meyering <jim <at> meyering.net> wrote:
>>> On Wed, Aug 17, 2016 at 5:11 PM, Jim Meyering <jim <at> meyering.net> wrote:
>>>> On Wed, Aug 17, 2016 at 2:14 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>>>>> This all sounds good, thanks. Your attachment was a submodule diff
>>>>> (basically, a pair of git commit IDs), so not much to review.
>>>>
>>>> Oops. Wrong working directory. Thanks.
>>>> I've attached the real diff, this time.
>>>>
>>>>> I have some dfa.c-related changes pending. I assume it'll be OK for me to
>>>>> commit them to grep as needed, and that when you make the switch you'll grab
>>>>> the then-current version from grep. If you need me to get out of the water
>>>>> around that time, please just let me know.
>>>>
>>>> As long as there are still soon-to-be-committed changes for grep's
>>>> dfa.[ch], I'm happy to wait.
>>>
>>> I have sync'd the latest grep/dfa bits into my gnulib
>>> dfa-module-adding patch, and updated the grep-side patch that makes
>>> grep use that new module. Attached for anyone who cares to review.
>>> If you're interested in trying it, you should first "cd" into grep's
>>> gnulib directory and use "git am gnulib*.diff" to apply the first
>>> patch there. Then "cd .. && git ci -m 'commit local gnulib+dfa change'
>>> -a", then apply the grep patch and rerun the usual ./bootstrap &&
>>> ./configure ... && make && make test
>>
>> I found/fixed a few nits in the gnulib diff, and changed a test
>> dependency from progname to getprogname. I have pushed this to gnulib:
>
> I have just now pushed these two commits to grep's repository, making
> it use gnulib's new dfa module. The first just updates to latest
> gnulib submodule. The second removes the subsumed files and grep's
> references to them.

Finally, here is a similar change, but now for gnu sed. For it, I also
had to make some small code changes to adapt to the new
localeinfo.[ch] and to the dfasyntax API change. I'll wait a day or so
before pushing this, just in case:
[sed-use-gnulib-dfa-module.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sat, 10 Sep 2016 21:01:01 GMT) Full text and rfc822 format available.

Message #26 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Assaf Gordon <assafgordon <at> gmail.com>
To: Jim Meyering <jim <at> meyering.net>
Cc: "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>, 24256 <at> debbugs.gnu.org,
 Paul Eggert <eggert <at> cs.ucla.edu>, sed-devel <at> gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 10 Sep 2016 17:00:18 -0400
Hello Jim and all,

> On Sep 10, 2016, at 14:44, Jim Meyering <jim <at> meyering.net> wrote:
> 
> Finally, here is a similar change, but now for gnu sed. For it, I also
> had to make some small code changes to adapt to the new
> localeinfo.[ch] and to the dfasyntax API change. I'll wait a day or so
> before pushing this, just in case:
> <sed-use-gnulib-dfa-module.diff>

for sed,
It seems that pulling the latest gnulib (the first out of the two commits in the attached diff) causes the following link error (at least on mac os x):

  [...]
  make[2]: Nothing to be done for `all'.
  Making all in .
    CCLD     sed/sed
  Undefined symbols for architecture x86_64:
    "_strverscmp", referenced from:
        _compile_program in sed_sed-compile.o
  ld: symbol(s) not found for architecture x86_64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  make[2]: *** [sed/sed] Error 1
  make[1]: *** [all-recursive] Error 1

regards,
 - assaf





Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 11 Sep 2016 00:56:02 GMT) Full text and rfc822 format available.

Message #29 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Assaf Gordon <assafgordon <at> gmail.com>
Cc: "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>, 24256 <at> debbugs.gnu.org,
 Paul Eggert <eggert <at> cs.ucla.edu>, sed-devel <at> gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 10 Sep 2016 17:55:20 -0700
[Message part 1 (text/plain, inline)]
On Sat, Sep 10, 2016 at 2:00 PM, Assaf Gordon <assafgordon <at> gmail.com> wrote:
> Hello Jim and all,
>
>> On Sep 10, 2016, at 14:44, Jim Meyering <jim <at> meyering.net> wrote:
>>
>> Finally, here is a similar change, but now for gnu sed. For it, I also
>> had to make some small code changes to adapt to the new
>> localeinfo.[ch] and to the dfasyntax API change. I'll wait a day or so
>> before pushing this, just in case:
>> <sed-use-gnulib-dfa-module.diff>
>
> for sed,
> It seems that pulling the latest gnulib (the first out of the two commits in the attached diff) causes the following link error (at least on mac os x):
>
>   [...]
>   make[2]: Nothing to be done for `all'.
>   Making all in .
>     CCLD     sed/sed
>   Undefined symbols for architecture x86_64:
>     "_strverscmp", referenced from:
>         _compile_program in sed_sed-compile.o
>   ld: symbol(s) not found for architecture x86_64
>   clang: error: linker command failed with exit code 1 (use -v to see invocation)
>   make[2]: *** [sed/sed] Error 1
>   make[1]: *** [all-recursive] Error 1

Thanks for reporting that.
I've pushed the attached to gnulib to address that:
[gnulib-strverscmp-vs-osx.diff (text/plain, attachment)]

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Mon, 12 Sep 2016 03:56:01 GMT) Full text and rfc822 format available.

Message #32 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Assaf Gordon <assafgordon <at> gmail.com>
Cc: "bug-gnulib <at> gnu.org List" <bug-gnulib <at> gnu.org>, 24256 <at> debbugs.gnu.org,
 Paul Eggert <eggert <at> cs.ucla.edu>, sed-devel <at> gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sun, 11 Sep 2016 20:55:15 -0700
On Sat, Sep 10, 2016 at 5:55 PM, Jim Meyering <jim <at> meyering.net> wrote:
> On Sat, Sep 10, 2016 at 2:00 PM, Assaf Gordon <assafgordon <at> gmail.com> wrote:
>> Hello Jim and all,
>>
>>> On Sep 10, 2016, at 14:44, Jim Meyering <jim <at> meyering.net> wrote:
>>>
>>> Finally, here is a similar change, but now for gnu sed. For it, I also
>>> had to make some small code changes to adapt to the new
>>> localeinfo.[ch] and to the dfasyntax API change. I'll wait a day or so
>>> before pushing this, just in case:
>>> <sed-use-gnulib-dfa-module.diff>
>>
>> for sed,
>> It seems that pulling the latest gnulib (the first out of the two commits in the attached diff) causes the following link error (at least on mac os x):
>>
>>   [...]
>>   make[2]: Nothing to be done for `all'.
>>   Making all in .
>>     CCLD     sed/sed
>>   Undefined symbols for architecture x86_64:
>>     "_strverscmp", referenced from:
>>         _compile_program in sed_sed-compile.o
>>   ld: symbol(s) not found for architecture x86_64
>>   clang: error: linker command failed with exit code 1 (use -v to see invocation)
>>   make[2]: *** [sed/sed] Error 1
>>   make[1]: *** [all-recursive] Error 1
>
> Thanks for reporting that.
> I've pushed the attached to gnulib to address that:

Then, I rebased the sed commits on top of latest gnulib and pushed those, too.




Severity set to 'wishlist' from 'normal' Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Fri, 16 Sep 2016 08:03:01 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Fri, 16 Sep 2016 08:03:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 24256 <at> debbugs.gnu.org and Jim Meyering <jim <at> meyering.net> Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Fri, 16 Sep 2016 08:03:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 03:44:01 GMT) Full text and rfc822 format available.

Message #41 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jim Meyering <jim <at> meyering.net>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 20:43:02 -0700
After this change, 'make dist' no longer works on the current Ubuntu version 
(16.04.1 LTS). The failure is as follows. I'm not quite sure how to debug this 
sort of thing, as the syntax checks are a bit twisty. Although this isn't a huge 
obstacle to issuing a new grep release (as one can run 'make dist' on the 
current Fedora version), it's still a bit troublesome.

PS. I updated to the latest gnulib to fix a 'make check' failure on AIX 7.1.

...
space_tab
0.01 space_tab
tight_scope
make[4]: Entering directory '/home/eggert/src/gnu/grep/src'
dfaalloc
dfacomp
dfaexec
dfafree
dfaisfast
dfamust
dfamustfree
dfasuperset
dfasyntax
case_folded_counterparts
init_localeinfo
the above functions should have static scope
/home/eggert/src/gnu/grep/tight-scope.mk:42: recipe for target '_gl_tight_scope' 
failed
make[4]: *** [_gl_tight_scope] Error 1
make[4]: Leaving directory '/home/eggert/src/gnu/grep/src'
maint.mk:1578: recipe for target 'sc_tight_scope' failed
make[3]: *** [sc_tight_scope] Error 1
make[3]: Leaving directory '/home/eggert/src/gnu/grep'
Makefile:1710: recipe for target 'run-syntax-check' failed
make[2]: *** [run-syntax-check] Error 2
make[2]: Leaving directory '/home/eggert/src/gnu/grep'
Makefile:1386: recipe for target 'distdir' failed
make[1]: *** [distdir] Error 2
make[1]: Leaving directory '/home/eggert/src/gnu/grep'
Makefile:1487: recipe for target 'dist' failed
make: *** [dist] Error 2




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 03:46:01 GMT) Full text and rfc822 format available.

Message #44 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 20:45:06 -0700
On Sat, Sep 24, 2016 at 8:43 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> After this change, 'make dist' no longer works on the current Ubuntu version
> (16.04.1 LTS). The failure is as follows. I'm not quite sure how to debug
> this sort of thing, as the syntax checks are a bit twisty. Although this
> isn't a huge obstacle to issuing a new grep release (as one can run 'make
> dist' on the current Fedora version), it's still a bit troublesome.
>
> PS. I updated to the latest gnulib to fix a 'make check' failure on AIX 7.1.
>
> ...
> space_tab
> 0.01 space_tab
> tight_scope
> make[4]: Entering directory '/home/eggert/src/gnu/grep/src'
> dfaalloc
> dfacomp
> dfaexec
> dfafree
> dfaisfast
> dfamust
> dfamustfree
> dfasuperset
> dfasyntax
> case_folded_counterparts
> init_localeinfo
> the above functions should have static scope
> /home/eggert/src/gnu/grep/tight-scope.mk:42: recipe for target
> '_gl_tight_scope' failed
> make[4]: *** [_gl_tight_scope] Error 1
> make[4]: Leaving directory '/home/eggert/src/gnu/grep/src'
> maint.mk:1578: recipe for target 'sc_tight_scope' failed
> make[3]: *** [sc_tight_scope] Error 1
> make[3]: Leaving directory '/home/eggert/src/gnu/grep'
> Makefile:1710: recipe for target 'run-syntax-check' failed
> make[2]: *** [run-syntax-check] Error 2
> make[2]: Leaving directory '/home/eggert/src/gnu/grep'
> Makefile:1386: recipe for target 'distdir' failed
> make[1]: *** [distdir] Error 2
> make[1]: Leaving directory '/home/eggert/src/gnu/grep'
> Makefile:1487: recipe for target 'dist' failed
> make: *** [dist] Error 2
>

Hi Paul,
That is probably because you have a stray dfa.o file laying around.
Since that corresponds to a now-VC-removed dfa.c file, "make clean"
fails to remove the .o file. Just remove it manually and the test
should then pass.




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 03:47:01 GMT) Full text and rfc822 format available.

Message #47 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 20:46:07 -0700
On Sat, Sep 24, 2016 at 8:43 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
...
> PS. I updated to the latest gnulib to fix a 'make check' failure on AIX 7.1.

Thank you!




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 03:54:01 GMT) Full text and rfc822 format available.

Message #50 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jim Meyering <jim <at> meyering.net>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 20:53:25 -0700
Jim Meyering wrote:
> That is probably because you have a stray dfa.o file laying around.
> Since that corresponds to a now-VC-removed dfa.c file, "make clean"
> fails to remove the .o file. Just remove it manually and the test
> should then pass.

Right you are, thanks. Running 'make clean' fixes the problem.

Though it exposes a new problem. 'make clean; make dist' fails when checking 
tight scope, with the following symptoms. Perhaps a missing dependency?

space_tab
0.01 space_tab
tight_scope
make[4]: Entering directory '/home/eggert/src/gnu/grep/src'
  CC       grep.o
In file included from system.h:26:0,
                 from grep.c:29:
../lib/binary-io.h: In function 'set_binary_mode':
../lib/binary-io.h:57:10: error: 'O_BINARY' undeclared (first use in this function)
   return O_BINARY;
          ^
../lib/binary-io.h:57:10: note: each undeclared identifier is reported only once 
for each function it appears in
In file included from grep.c:29:0:
system.h: At top level:
system.h:27:24: fatal error: configmake.h: No such file or directory
compilation terminated.
Makefile:1344: recipe for target 'grep.o' failed
make[4]: *** [grep.o] Error 1
make[4]: Leaving directory '/home/eggert/src/gnu/grep/src'
maint.mk:1578: recipe for target 'sc_tight_scope' failed
make[3]: *** [sc_tight_scope] Error 1
make[3]: Leaving directory '/home/eggert/src/gnu/grep'
Makefile:1710: recipe for target 'run-syntax-check' failed
make[2]: *** [run-syntax-check] Error 2
make[2]: Leaving directory '/home/eggert/src/gnu/grep'
Makefile:1386: recipe for target 'distdir' failed
make[1]: *** [distdir] Error 2
make[1]: Leaving directory '/home/eggert/src/gnu/grep'
Makefile:1487: recipe for target 'dist' failed
make: *** [dist] Error 2
550-day $




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 04:11:02 GMT) Full text and rfc822 format available.

Message #53 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 21:10:12 -0700
On Sat, Sep 24, 2016 at 8:53 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> Jim Meyering wrote:
>>
>> That is probably because you have a stray dfa.o file laying around.
>> Since that corresponds to a now-VC-removed dfa.c file, "make clean"
>> fails to remove the .o file. Just remove it manually and the test
>> should then pass.
>
>
> Right you are, thanks. Running 'make clean' fixes the problem.
>
> Though it exposes a new problem. 'make clean; make dist' fails when checking
> tight scope, with the following symptoms. Perhaps a missing dependency?
>
> space_tab
> 0.01 space_tab
> tight_scope
> make[4]: Entering directory '/home/eggert/src/gnu/grep/src'
>   CC       grep.o
> In file included from system.h:26:0,
>                  from grep.c:29:
> ../lib/binary-io.h: In function 'set_binary_mode':
> ../lib/binary-io.h:57:10: error: 'O_BINARY' undeclared (first use in this
> function)
>    return O_BINARY;
>           ^
> ../lib/binary-io.h:57:10: note: each undeclared identifier is reported only
> once for each function it appears in
> In file included from grep.c:29:0:
> system.h: At top level:
> system.h:27:24: fatal error: configmake.h: No such file or directory
> compilation terminated.
> Makefile:1344: recipe for target 'grep.o' failed
> make[4]: *** [grep.o] Error 1
> make[4]: Leaving directory '/home/eggert/src/gnu/grep/src'
> maint.mk:1578: recipe for target 'sc_tight_scope' failed
> make[3]: *** [sc_tight_scope] Error 1
> make[3]: Leaving directory '/home/eggert/src/gnu/grep'
> Makefile:1710: recipe for target 'run-syntax-check' failed
> make[2]: *** [run-syntax-check] Error 2
> make[2]: Leaving directory '/home/eggert/src/gnu/grep'
> Makefile:1386: recipe for target 'distdir' failed
> make[1]: *** [distdir] Error 2
> make[1]: Leaving directory '/home/eggert/src/gnu/grep'
> Makefile:1487: recipe for target 'dist' failed
> make: *** [dist] Error 2
> 550-day $

Sounds like it must be something fundamental. I've just confirmed that
at commit v2.25-100-gcd8082e `./bootstrap && ./configure && make &&
make distcheck` succeeds on both Fedora 24 and Debian unstable.

Did you rerun ./bootstrap?

Note that I find myself regularly running `(cd gnulib && git co master
&& git pull)` to update each package's gnulib/ subdir to the latest.
Do that before the bootstrap.




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 04:23:02 GMT) Full text and rfc822 format available.

Message #56 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jim Meyering <jim <at> meyering.net>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 21:22:49 -0700
Jim Meyering wrote:
> Sounds like it must be something fundamental. I've just confirmed that
> at commit v2.25-100-gcd8082e `./bootstrap && ./configure && make &&
> make distcheck` succeeds on both Fedora 24 and Debian unstable.
>
> Did you rerun ./bootstrap?

Yes.

I think the difference is that I'm not running plain 'make' first. I jump 
straight to 'make dist'. That is, from a fresh copy of grep (same commit as 
yours), I run:

./bootstrap && ./configure && make dist

and this gets the tight_scope failure I mentioned earlier, on Ubuntu 16.04.1 LTS 
anyway.




Information forwarded to bug-grep <at> gnu.org:
bug#24256; Package grep. (Sun, 25 Sep 2016 04:44:01 GMT) Full text and rfc822 format available.

Message #59 received at 24256 <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24256 <at> debbugs.gnu.org
Subject: Re: bug#24256: new module for grep's DFA matcher
Date: Sat, 24 Sep 2016 21:42:52 -0700
[Message part 1 (text/plain, inline)]
On Sat, Sep 24, 2016 at 9:22 PM, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> Jim Meyering wrote:
>>
>> Sounds like it must be something fundamental. I've just confirmed that
>> at commit v2.25-100-gcd8082e `./bootstrap && ./configure && make &&
>> make distcheck` succeeds on both Fedora 24 and Debian unstable.
>>
>> Did you rerun ./bootstrap?
>
>
> Yes.
>
> I think the difference is that I'm not running plain 'make' first. I jump
> straight to 'make dist'. That is, from a fresh copy of grep (same commit as
> yours), I run:
>
> ./bootstrap && ./configure && make dist
>
> and this gets the tight_scope failure I mentioned earlier, on Ubuntu 16.04.1
> LTS anyway.

Oh, thanks. That was indeed a missing dependency.
This patch fixes it for me:
[build--avoid-missing-dep-failure.diff (application/octet-stream, attachment)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 23 Oct 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 158 days ago.

Previous Next


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