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

Re: Git bug. "make [all]" does not use USE_LIBPCRE when "configure --with-libpcre" was previously run

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 14, 2013, 16:09 UTC
Message-ID
<7v38qcuudi.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130814124849.GA8234@ashu.dyn1.rarus.ru>
Alexey Shumkin <alex.crezoff@gmail.com> writes:
Show 46 quoted lines
>>From time to time, I use `git grep -P` to search text in sources using PCRE.
> Today I was suprised when that command gave me the error
>     "fatal: cannot use Perl-compatible regexes when not compiled with
>     USE_LIBPCRE"
>
> As far as I always use
>     ./configure --with-libpcre 
>     make all
> to build my Cygwin version of Git that was a VERY sudden error for me.
> (but this is not a Cygwin-specific error, I've reproduced it on my Linux
> box).
>
> I've found out that `make` "does not know" anymore about USE_LIBPCRE=YesPlease
> even `./configure --with-libpcre` was run before it.
> ...
> and `git bisect run` to find out where Git was broken.
> That gave me:
>
> ---8<---
> 40bfbde9da5c6cbc85f49a755f27162dc966fd89 is the first bad commit
> commit 40bfbde9da5c6cbc85f49a755f27162dc966fd89
> Author: Stefano Lattarini <stefano.lattarini@gmail.com>
> Date:   Tue Sep 11 17:45:30 2012 +0200
>
>     build: don't duplicate substitution of make variables
>     
>     Thanks to our 'GIT_CONF_SUBST' layer in configure.ac, a make variable 'VAR'
>     can be defined to a value 'VAL' at ./configure runtime in our build system
>     simply by using "GIT_CONF_SUBST([VAR], [VAL])" in configure.ac, rather than
>     having both to call "AC_SUBST([VAR], [VAL])" in configure.ac and adding the
>     'VAR = @VAR@' definition in config.mak.in.  Less duplication, less margin
>     for error, less possibility of confusion.
>     
>     While at it, fix some formatting issues in configure.ac that unnecessarily
>     obscured the code flow.
>     
>     Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
>     Signed-off-by: Junio C Hamano <gitster@pobox.com>
>
> :100644 100644 802d34223a2859ee1341d94ee722d7939b7276aa 69d48382fe69b8699eb350949fff04975db923f8 M      config.mak.in
> :100644 100644 450bbe7f1020711b4af2ad6ea52d717651c30b0b da1f41f58871b2102a9ed5eaeff7df3c9623f4bd M      configure.ac
> bisect run success
>
> ---8<---
>
> I'm not a C programmer to fix that, so I ask you to.
Yikes and thanks for reporting.

This does not have anything to do with C, but is a breakage in our autoconf script. It appears that anything that is meant to be appended at end via $config_appended_defs mechanism is missing from the end result.

In fact, symbols whose explicit substitution the above patch removes, e.g. CC_LD_DYNPATH, TCLTK_PATH, NEEDS_SSL_WITH_CRYPTO, etc. are all missing.

Previous: Alexey ShumkinNext: Junio C Hamano
Message 2 of 4 in “Git bug. "make [all]" does not use USE_LIBPCRE when "configure --with-libpcre" was previously run”
  1. Alexey ShumkinAug 14, 2013
  2. Junio C HamanoAug 14, 2013
  3. Junio C HamanoAug 14, 2013
  4. Alexey ShumkinAug 15, 2013

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.