git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: PCRE v2 compile error, was Re: What's cooking in git.git (May 2017, #01; Mon, 1)

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 2, 2017, 17:49 UTC
Message-ID
<CACBZZX5_45KnU7qzW2ojJiznmfkef44YGL8-CYkHFLOvhLSASg@mail.gmail.com>
In-Reply-To
<20170502174329.GB181268@google.com>
On Tue, May 2, 2017 at 7:43 PM, Brandon Williams <bmwill@google.com> wrote:
Show 57 quoted lines
> On 05/02, Ævar Arnfjörð Bjarmason wrote:
>> On Tue, May 2, 2017 at 2:09 PM, Johannes Schindelin
>> <Johannes.Schindelin@gmx.de> wrote:
>> > Hi Ævar,
>> >
>> > On Sun, 30 Apr 2017, Junio C Hamano wrote:
>> >
>> >> * ab/grep-pcre-v2 (2017-04-25) 20 commits
>> >>  - SQUASH???
>> >>  - Makefile & configure: make PCRE v2 the default PCRE implementation
>> >>  - grep: remove support for concurrent use of both PCRE v1 & v2
>> >>  - grep: add support for PCRE v2
>> >>  - grep: add support for the PCRE v1 JIT API
>> >>  - perf: add a performance comparison test of grep -E and -P
>> >>  - grep: change the internal PCRE code & header names to be PCRE1
>> >>  - grep: change the internal PCRE macro names to be PCRE1
>> >>  - test-lib: rename the LIBPCRE prerequisite to PCRE
>> >>  - grep: make grep.patternType=[pcre|pcre1] a synonym for "perl"
>> >>  - grep & rev-list doc: stop promising libpcre for --perl-regexp
>> >>  - log: add -P as a synonym for --perl-regexp
>> >>  - log: add exhaustive tests for pattern style options & config
>> >>  - grep: add a test for backreferences in PCRE patterns
>> >>  - Makefile & configure: reword outdated comment about PCRE
>> >>  - grep: remove redundant `regflags &= ~REG_EXTENDED` assignments
>> >>  - grep: remove redundant regflags assignment under PCRE
>> >>  - grep: submodule-related case statements should die if new fields are added
>> >>  - grep: add tests for grep pattern types being passed to submodules
>> >>  - grep: amend submodule recursion test in preparation for rx engine testing
>> >>
>> >>  PCRE2, which has an API different from and incompatible with PCRE,
>> >>  can now be chosen to support "grep -P -e '<pattern>'" and friends.
>> >
>> > FWIW for quite a couple of recent builds, `pu` fails on Windows with a
>> > variation of this error:
>> >
>> >             CC blob.o
>> >         In file included from revision.h:5:0,
>> >                          from bisect.c:4:
>> >         grep.h:16:19: fatal error: pcre2.h: No such file or directory
>> >          #include <pcre2.h>
>> >                            ^
>> >         compilation terminated.
>> >
>> > Maybe this can be fixed before hitting `next`?
>>
>> This will be due to a combination of the build machine not having pcre
>> v2 (but having v1) & my "Makefile & configure: make PCRE v2 the
>> default PCRE implementation" patch, which makes v2 the default for
>> USE_LIBPCRE=YesPlease.
>>
>> Is it easy to install v2 on these build machines? Alternatively that
>> patch could be ejected out of pu, or you could USE_LIBPCRE1=YesPlease
>> to use v1, but as explained in that commit I think it makes sense to
>> make v2 the default.
>
> Shouldn't the Makefile check for the existence of PCREv2 before making
> it the default?

We can't check for the existence of anything in the Makefile, that's what the configure script is for.

The configure script does the "right" thing with pcre v2.

The "right" thing being the bizarro pre-existing behavior of "oh you asked for PCRE? Well let me check if it's on the system, if it's not I'll just silently undo what you asked for". Which is crazy, but was there before my patches, so I didn't change it.

I.e. instead of the more sane behavior of opting the user into an optional library if it's found on the system, and producing an error if you supply --with-that-library but don't have thatlibrary.so.

Previous: Brandon WilliamsNext: Ramsay Jones
Message 35 of 36 in “What's cooking in git.git (May 2017, #01; Mon, 1)”
  1. Junio C HamanoMay 1, 2017
  2. Ævar Arnfjörð BjarmasonMay 1, 2017
  3. Brandon WilliamsMay 1, 2017
  4. Ævar Arnfjörð BjarmasonMay 1, 2017
  5. Jeff KingMay 1, 2017
  6. Junio C HamanoMay 1, 2017
  7. Ævar Arnfjörð BjarmasonMay 2, 2017
  8. Junio C HamanoMay 2, 2017
  9. Ævar Arnfjörð BjarmasonMay 2, 2017
  10. Johannes SchindelinMay 2, 2017
  11. PCRE v2 compile error, was Re: What's cooking in git.git (May 2017, #01; Mon, 1)Johannes Schindelin, May 2, 2017
  12. Ævar Arnfjörð BjarmasonMay 2, 2017
  13. Johannes SchindelinMay 2, 2017
  14. Ævar Arnfjörð BjarmasonMay 2, 2017
  15. Kevin DaudtMay 2, 2017
  16. Ævar Arnfjörð BjarmasonMay 2, 2017
  17. Johannes SchindelinMay 3, 2017
  18. Duy NguyenMay 3, 2017
  19. Ævar Arnfjörð BjarmasonMay 3, 2017
  20. Johannes SchindelinMay 4, 2017
  21. Ævar Arnfjörð BjarmasonMay 4, 2017
  22. Johannes SchindelinMay 4, 2017
  23. Ævar Arnfjörð BjarmasonMay 4, 2017
  24. Ævar Arnfjörð BjarmasonMay 8, 2017
  25. Junio C HamanoMay 8, 2017
  26. brian m. carlsonMay 8, 2017
  27. Ævar Arnfjörð BjarmasonMay 9, 2017
  28. brian m. carlsonMay 9, 2017
  29. Johannes SchindelinMay 9, 2017
  30. Ævar Arnfjörð BjarmasonMay 9, 2017
  31. Ævar Arnfjörð BjarmasonMay 9, 2017
  32. demerphqMay 9, 2017
  33. Ævar Arnfjörð BjarmasonMay 9, 2017
  34. Brandon WilliamsMay 2, 2017
  35. Ævar Arnfjörð BjarmasonMay 2, 2017
  36. Ramsay JonesMay 5, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.