Re: Git bug. make [all] does not use USE_LIBPCRE when configure --with-libpcre was previously run
On Wed, Aug 14, 2013 at 09:39:10AM -0700, Junio C Hamano wrote: Junio C Hamano gits...@pobox.com writes: This does not have anything to do with C, but is a breakage in our autoconf script. I've meant C-programmers does understand autoconf, too. But I do not :(. 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. Wait, I spoke too soon. $ rm -f configure config.status make configure ./configure --with-libpcre grep USE_LIBPCRE config.mak.autogen USE_LIBPCRE=YesPlease no longer reproduces for me (even though I _thought_ I tried and saw the breakage). Hmm. Oh! That have worked for me, too. No more error occured. Thank you! -- Alexey Shumkin -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Git bug. make [all] does not use USE_LIBPCRE when configure --with-libpcre was previously run
Hello, Stefan! I'll begin from afar. 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. But I do remember that it worked in some versions before (currently I use latest - v1.8.3.4). So, I've got armed with the following test script: ---8--- #!/bin/sh set -e ./configure --with-libpcre make set +e ./bin-wrappers/git grep -qIP das+ # if cannot use Perl-compatible regexes error occurs # then Git exits with an error code 128 (but `git bisect run` fails to # expect this exit code). if test $? -eq 128 then exit 1 fi ---8--- 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.lattar...@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.lattar...@gmail.com Signed-off-by: Junio C Hamano gits...@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. -- Alexey Shumkin -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Git bug. make [all] does not use USE_LIBPCRE when configure --with-libpcre was previously run
Alexey Shumkin alex.crez...@gmail.com 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.lattar...@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.lattar...@gmail.com Signed-off-by: Junio C Hamano gits...@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. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Git bug. make [all] does not use USE_LIBPCRE when configure --with-libpcre was previously run
Junio C Hamano gits...@pobox.com writes: 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. Wait, I spoke too soon. $ rm -f configure config.status make configure ./configure --with-libpcre grep USE_LIBPCRE config.mak.autogen USE_LIBPCRE=YesPlease no longer reproduces for me (even though I _thought_ I tried and saw the breakage). Hmm. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html