* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.