When I run
$ git grep -P "<pattern>"
I get the following error:
fatal: cannot use Perl-compatible regexes when not compiled with USE_LIBPCRE
How can I install Git with PCRE support for OSX properly?
When I run
$ git grep -P "<pattern>"
I get the following error:
fatal: cannot use Perl-compatible regexes when not compiled with USE_LIBPCRE
How can I install Git with PCRE support for OSX properly?
With homebrew, just use
brew reinstall --with-pcre2 git
It forces to build git from source instead of downloading the bottle, but ensures that the updates will be done with the pcre support.
Homebrew ships Git with a pre-built version (bottle) by default. You need to compile Git from source to enable PCRE support:
$ brew install pcre
$ export USE_LIBPCRE=yes
$ brew reinstall --build-from-source git
Now it should work as expected.
With GIt 2.18 (Q2 2018) , the build option has evolved:
Git can be built to use either v1 or v2 of the PCRE library, and so
far, the build-time configuration USE_LIBPCRE=YesPlease
instructed
the build procedure to use v1, but now it means v2.
USE_LIBPCRE1
andUSE_LIBPCRE2
can be used to explicitly choose which version to use, as before.
See commit e6c531b, commit a363f98, commit a91b113 (11 Mar 2018) by Ævar Arnfjörð Bjarmason (avar
).
(Merged by Junio C Hamano -- gitster
-- in commit cac5351, 09 Apr 2018)
Makefile
: makeUSE_LIBPCRE=YesPlease
mean v2, not v1Change the
USE_LIBPCRE
flag from being an alias forUSE_LIBPCRE1
to being an alias forUSE_LIBPCRE2
.When support for v2 was added in my 94da919 ("grep: add support for PCRE v2", 2017-06-01, Git v2.14.0-rc0) the existing
USE_LIBPCRE
flag was left as meaning v1, with a note that this would likely change in a future release.
That optional support for v2 first made it into Git version 2.14.0.The PCRE v2 support has been shown to be stable, and the upstream PCRE project is highly encouraging downstream users to move to v2, so it makes sense to give packagers of Git who haven't heard the news about PCRE v2 a further nudge to move to v2.