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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alexey Shumkin <alex.crezoff@xxxxxxxxx> writes:

>>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@xxxxxxxxx>
> 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@xxxxxxxxx>
>     Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
>
> :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.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]