* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing @ 2022-08-24 12:09 Gerd Möllmann 2022-08-24 12:31 ` Eli Zaretskii 0 siblings, 1 reply; 9+ messages in thread From: Gerd Möllmann @ 2022-08-24 12:09 UTC (permalink / raw) To: 57380 In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.5.1 (Build 21G83)) of 2022-08-23 built on Mini.fritz.box Repository revision: 1f990d1cf95930a584a7f70f002f284e273b6fd6 Repository branch: master Windowing system distributor 'Apple', version 10.3.2113 System Description: macOS 12.5.1 Steps to reproduce: ./configure --config-cache --with-native-compilation touch configure make or, alternatively ./configure --config-cache --with-native-compilation ./configure --config-cache --with-native-compilation Result The second configure, in the first recipe this is './config.status --recheck', fails with checking for gcc_jit_context_acquire in -lgccjit... (cached) yes checking for libgccjit.h... (cached) yes configure: error: The installed libgccjit failed to compile and run a test program using the libgccjit library; see config.log for the details of the failure. Config.log says configure:19611: checking for libgccjit.h configure:19611: result: yes configure:19674: gcc -o conftest -g -O2 conftest.m -lgccjit -lsqlite3 -L/opt/homebrew/Cellar/libgccjit/12.1.0/lib/gcc/current >&5 conftest.m:131:12: fatal error: 'libgccjit.h' file not found #include <libgccjit.h> ^~~~~~~~~~~~~ 1 error generated. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 12:09 bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing Gerd Möllmann @ 2022-08-24 12:31 ` Eli Zaretskii 2022-08-24 12:55 ` Gerd Möllmann 0 siblings, 1 reply; 9+ messages in thread From: Eli Zaretskii @ 2022-08-24 12:31 UTC (permalink / raw) To: Gerd Möllmann; +Cc: 57380 > From: Gerd Möllmann <gerd.moellmann@gmail.com> > Date: Wed, 24 Aug 2022 14:09:07 +0200 > > The second configure, in the first recipe this is './config.status > --recheck', fails with > > checking for gcc_jit_context_acquire in -lgccjit... (cached) yes > checking for libgccjit.h... (cached) yes > configure: error: The installed libgccjit failed to compile and run a test program using > the libgccjit library; see config.log for the details of the failure. > > Config.log says > > configure:19611: checking for libgccjit.h > configure:19611: result: yes > configure:19674: gcc -o conftest -g -O2 conftest.m -lgccjit -lsqlite3 -L/opt/homebrew/Cellar/libgccjit/12.1.0/lib/gcc/current >&5 > conftest.m:131:12: fatal error: 'libgccjit.h' file not found > #include <libgccjit.h> > ^~~~~~~~~~~~~ > 1 error generated. Does the command to compile the test program look different in a config.log from a successful build? If so, what is the difference? (Perhaps some -I switch is missing?) And if there's no difference, how come the same command sometimes succeeds and sometimes fails? ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 12:31 ` Eli Zaretskii @ 2022-08-24 12:55 ` Gerd Möllmann 2022-08-24 13:30 ` Gerd Möllmann 0 siblings, 1 reply; 9+ messages in thread From: Gerd Möllmann @ 2022-08-24 12:55 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 57380 On 22-08-24 14:31 , Eli Zaretskii wrote: >> configure:19611: checking for libgccjit.h >> configure:19611: result: yes >> configure:19674: gcc -o conftest -g -O2 conftest.m -lgccjit -lsqlite3 -L/opt/homebrew/Cellar/libgccjit/12.1.0/lib/gcc/current >&5 >> conftest.m:131:12: fatal error: 'libgccjit.h' file not found >> #include <libgccjit.h> >> ^~~~~~~~~~~~~ >> 1 error generated. > > Does the command to compile the test program look different in a > config.log from a successful build? If so, what is the difference? > (Perhaps some -I switch is missing?) And if there's no difference, > how come the same command sometimes succeeds and sometimes fails? Yeah, they are vastly different: configure:19674: gcc -o conftest -g3 -O2 -isystem /opt/homebrew/Cellar/libffi/3.4.2/include -isystem /opt/homebrew/Cellar/librsvg/2.54.4/include/librsvg-2.0 -isystem /opt/homebrew/Cellar/gdk-pixbuf/2.42.9/include/gdk-pixbuf-2.0 -isystem /opt/homebrew/Cellar/jpeg-turbo/2.1.4... I'd bet a small mount that these come from configure.ac:4266 ff. if test -n "$MAC_CFLAGS" && test -n "$MAC_LIBS"; then CFLAGS="$CFLAGS ${MAC_CFLAGS}" LIBS="$LIBS ${MAC_LIBS}" fi ... AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken]) ... CFLAGS=$SAVE_CFLAGS LIBS=$SAVE_LIBS fi AC_RUN_IFELSE is apparently run differently when using the cache, or something like that. Hm. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 12:55 ` Gerd Möllmann @ 2022-08-24 13:30 ` Gerd Möllmann 2022-08-24 13:37 ` Gerd Möllmann 0 siblings, 1 reply; 9+ messages in thread From: Gerd Möllmann @ 2022-08-24 13:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 57380 Gerd Möllmann <gerd.moellmann@gmail.com> writes: > AC_RUN_IFELSE is apparently run differently when using the cache, or > something like that. Success and failure configure:19674: gcc -o conftest -g3 -O2 ... conftest.c configure:19674: gcc -o conftest -g -O2 ... conftest.m ^^ Baffled. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 13:30 ` Gerd Möllmann @ 2022-08-24 13:37 ` Gerd Möllmann 2022-08-24 14:23 ` Eli Zaretskii 2022-08-24 14:32 ` Andreas Schwab 0 siblings, 2 replies; 9+ messages in thread From: Gerd Möllmann @ 2022-08-24 13:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 57380 Gerd Möllmann <gerd.moellmann@gmail.com> writes: > > Gerd Möllmann <gerd.moellmann@gmail.com> writes: > >> AC_RUN_IFELSE is apparently run differently when using the cache, or >> something like that. > > Success and failure > > configure:19674: gcc -o conftest -g3 -O2 ... conftest.c > configure:19674: gcc -o conftest -g -O2 ... conftest.m > ^^ > > Baffled. diff --git a/configure.ac b/configure.ac index 7616e450d0..08a41a7808 100644 --- a/configure.ac +++ b/configure.ac @@ -4273,6 +4273,7 @@ AC_DEFUN [], [libgccjit_not_found]) AC_CHECK_HEADERS([libgccjit.h], [], [libgccjit_dev_not_found]) # Check if libgccjit really works. + AC_LANG(C) AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken]) HAVE_NATIVE_COMP=yes case "${opsys}" in This makes it work for me. It that something for emacs-28, or rather not? Guess not, but just in case. ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 13:37 ` Gerd Möllmann @ 2022-08-24 14:23 ` Eli Zaretskii 2022-08-24 14:32 ` Andreas Schwab 1 sibling, 0 replies; 9+ messages in thread From: Eli Zaretskii @ 2022-08-24 14:23 UTC (permalink / raw) To: Gerd Möllmann; +Cc: 57380 > From: Gerd Möllmann <gerd.moellmann@gmail.com> > Cc: 57380@debbugs.gnu.org > Date: Wed, 24 Aug 2022 15:37:16 +0200 > > Gerd Möllmann <gerd.moellmann@gmail.com> writes: > > > > > Gerd Möllmann <gerd.moellmann@gmail.com> writes: > > > >> AC_RUN_IFELSE is apparently run differently when using the cache, or > >> something like that. > > > > Success and failure > > > > configure:19674: gcc -o conftest -g3 -O2 ... conftest.c > > configure:19674: gcc -o conftest -g -O2 ... conftest.m > > ^^ > > > > Baffled. > > diff --git a/configure.ac b/configure.ac > index 7616e450d0..08a41a7808 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -4273,6 +4273,7 @@ AC_DEFUN > [], [libgccjit_not_found]) > AC_CHECK_HEADERS([libgccjit.h], [], [libgccjit_dev_not_found]) > # Check if libgccjit really works. > + AC_LANG(C) > AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken]) > HAVE_NATIVE_COMP=yes > case "${opsys}" in > > This makes it work for me. Doh! Do you understand why it is only needed in one of the two cases? And doesn't it affect the following tests? > It that something for emacs-28, or rather not? Guess not, but just in > case. What does this call produce in the configure script? ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 13:37 ` Gerd Möllmann 2022-08-24 14:23 ` Eli Zaretskii @ 2022-08-24 14:32 ` Andreas Schwab 2022-08-24 16:20 ` Gerd Möllmann 1 sibling, 1 reply; 9+ messages in thread From: Andreas Schwab @ 2022-08-24 14:32 UTC (permalink / raw) To: Gerd Möllmann; +Cc: Eli Zaretskii, 57380 On Aug 24 2022, Gerd Möllmann wrote: > diff --git a/configure.ac b/configure.ac > index 7616e450d0..08a41a7808 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -4273,6 +4273,7 @@ AC_DEFUN > [], [libgccjit_not_found]) > AC_CHECK_HEADERS([libgccjit.h], [], [libgccjit_dev_not_found]) > # Check if libgccjit really works. > + AC_LANG(C) > AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken]) > HAVE_NATIVE_COMP=yes > case "${opsys}" in > > This makes it work for me. That appears to be a misuse of AC_LANG_PUSH/POP. Apparently they must not be used inside AC_CACHE_CHECK. diff --git a/configure.ac b/configure.ac index 7616e450d0..39bfe7800b 100644 --- a/configure.ac +++ b/configure.ac @@ -2155,32 +2155,32 @@ AC_SUBST([NS_OBJ]) AC_SUBST([NS_OBJC_OBJ]) if test "${HAVE_NS}" = yes; then + AC_LANG_PUSH([Objective C]) AC_CACHE_CHECK( [if the Objective C compiler supports instancetype], [emacs_cv_objc_instancetype], - [AC_LANG_PUSH([Objective C]) - AC_COMPILE_IFELSE( + [AC_COMPILE_IFELSE( [AC_LANG_SOURCE([[@interface Test + (instancetype)test; @end]])], [emacs_cv_objc_instancetype=yes], - [emacs_cv_objc_instancetype=no]) - AC_LANG_POP([Objective C])]) + [emacs_cv_objc_instancetype=no])]) + AC_LANG_POP([Objective C]) if test x$emacs_cv_objc_instancetype = xyes ; then AC_DEFINE([NATIVE_OBJC_INSTANCETYPE], [1], [Define if ObjC compiler supports instancetype natively.]) fi + AC_LANG_PUSH([Objective C]) AC_CACHE_CHECK( [if the Objective C compiler defaults to C99], [emacs_cv_objc_c99], - [AC_LANG_PUSH([Objective C]) - AC_COMPILE_IFELSE( + [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([], [[for (int i = 0;;);]])], [emacs_cv_objc_c99=yes], - [emacs_cv_objc_c99=no]) - AC_LANG_POP([Objective C])]) + [emacs_cv_objc_c99=no])]) + AC_LANG_POP([Objective C]) if test x$emacs_cv_objc_c99 = xno ; then GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -std=c99" -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 14:32 ` Andreas Schwab @ 2022-08-24 16:20 ` Gerd Möllmann 2022-08-25 9:16 ` Gerd Möllmann 0 siblings, 1 reply; 9+ messages in thread From: Gerd Möllmann @ 2022-08-24 16:20 UTC (permalink / raw) To: Andreas Schwab; +Cc: Eli Zaretskii, 57380 Andreas Schwab <schwab@suse.de> writes: > That appears to be a misuse of AC_LANG_PUSH/POP. Apparently they must > not be used inside AC_CACHE_CHECK. That explains it, I guess. Works for me on master. Thanks, Andreas! ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing 2022-08-24 16:20 ` Gerd Möllmann @ 2022-08-25 9:16 ` Gerd Möllmann 0 siblings, 0 replies; 9+ messages in thread From: Gerd Möllmann @ 2022-08-25 9:16 UTC (permalink / raw) To: Andreas Schwab; +Cc: Eli Zaretskii, 57380 Gerd Möllmann <gerd.moellmann@gmail.com> writes: > > Andreas Schwab <schwab@suse.de> writes: > >> That appears to be a misuse of AC_LANG_PUSH/POP. Apparently they must >> not be used inside AC_CACHE_CHECK. > > That explains it, I guess. > > Works for me on master. Thanks, Andreas! Down from 4:30 to 3:40 for a build starting from git clean -xdf, with a cache file outside of the worktree, with Anreas' fix. Nice :-) ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-08-25 9:16 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-08-24 12:09 bug#57380: 29.0.50; configure --config-cache --with-native-compilation failing Gerd Möllmann 2022-08-24 12:31 ` Eli Zaretskii 2022-08-24 12:55 ` Gerd Möllmann 2022-08-24 13:30 ` Gerd Möllmann 2022-08-24 13:37 ` Gerd Möllmann 2022-08-24 14:23 ` Eli Zaretskii 2022-08-24 14:32 ` Andreas Schwab 2022-08-24 16:20 ` Gerd Möllmann 2022-08-25 9:16 ` Gerd Möllmann
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).