GNU bug report logs -
#57015
29.0.50; macOS: libgccjit was not found: Homebrew libgccjit 12.1.0
Previous Next
Reported by: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Date: Sat, 6 Aug 2022 11:40:01 UTC
Severity: normal
Tags: patch
Merged with 57023,
57028,
57029
Found in version 29.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #25 received at control <at> debbugs.gnu.org (full text, mbox):
merge 57028 57015
thanks
> From: Mark Barton <mbarton98 <at> gmail.com>
> Date: Sat, 6 Aug 2022 22:22:55 -0700
>
> Documenting my resolution to a build error caused when the brew update process upgraded me from libgccjit 11.3 to 12.1.
>
> Error message from configure
> ============================
>
> ,----
> | checking for gcc_jit_context_acquire in -lgccjit... no
> | configure: error: ELisp native compiler was requested, but libgccjit was not found.
> | Please try installing libgccjit or a similar package.
> | If you are sure you want Emacs be compiled without ELisp native compiler,
> | pass the --without-native-compilation option to configure.
> | make: *** [config.status] Error 1
> `----
>
>
> config.log section showing linker can't map file
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> ,----
> | configure:19555: checking for gcc_jit_context_acquire in -lgccjit
> | configure:19578: gcc -o conftest -g3 -O2 -isystem /usr/local/Cellar/libffi/3.4.2/include -isystem /usr/local/Cellar/librsvg/2.54.4/include/librsvg-2.0 -isystem /usr/local/Cellar/gdk-pixbuf/2.42.8_1/include/gdk-pixbuf-2.0 -isystem /usr/local/Cellar/jpeg/9e/include -isystem /usr/local/Cellar/libtiff/4.4.0_1/include -isystem /usr/local/Cellar/glib/2.72.3/include -isystem /usr/local/Cellar/cairo/1.16.0_5/include/cairo -isystem /usr/local/Cellar/glib/2.72.3/include -isystem /usr/local/Cellar/glib/2.72.3/include/glib-2.0 -isystem /usr/local/Cellar/glib/2.72.3/lib/glib-2.0/include -isystem /usr/local/opt/gettext/include -isystem /usr/local/Cellar/pcre/8.45/include -isystem /usr/local/Cellar/pixman/0.40.0/include/pixman-1 -isystem /usr/local/Cellar/fontconfig/2.14.0/include -isystem /usr/local/opt/freetype/include/freetype2 -isystem /usr/local/Cellar/libpng/1.6.37/include/libpng16 -isystem /usr/local/Cellar/libxcb/1.15/include -isystem /usr/local/Cellar/libxrender/0.9.10/include -isystem /usr/local/Cellar/libxext/1.3.4/include -isystem /usr/local/Cellar/libx11/1.8.1/include -isystem /usr/local/Cellar/libxcb/1.15/include -isystem /usr/local/Cellar/libxau/1.0.9/include -isystem /usr/local/Cellar/libxdmcp/1.1.3/include -isystem /usr/local/Cellar/xorgproto/2022.1/include -isystem /usr/local/Cellar/webp/1.2.3_1/include -I/usr/local/Cellar/libgccjit/12.1.0/include conftest.c -lgccjit -lsqlite3 -L/usr/local/Cellar/libgccjit/12.1.0/lib/gcc/current
> | /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/12 >&5
> | ld: warning: dylib (/usr/local/Cellar/libgccjit/12.1.0/lib/gcc/current/libgccjit.dylib) was built for newer macOS version (12.4) than being linked (12.0)
> | ld: can't map file, errno=22 file '/usr/local/Cellar/libgccjit/12.1.0/lib/gcc/12' for architecture x86_64
> | clang: error: linker command failed with exit code 1 (use -v to see invocation)
> | configure:19578: $? = 1
> `----
>
>
> configure.ac test for brew installed libgccjit
> ==============================================
>
> In the example below the test in configure.ac returns two lines and
> this appears to be the cause of the linker can't map file error.
> ,----
> | (python_training) bartm002 <at> C02FM1E2MD6T ~ % brew ls -v libgccjit | grep -E 'libgccjit\.(so|dylib)$'
> | /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/current/libgccjit.dylib
> | /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/12/libgccjit.dylib
> `----
>
> Here is the listing to show that both paths are really the same with
> symbolic links.
> ,----
> | /usr/local/Cellar/libgccjit/12.1.0/lib/gcc:
> | drwxr-xr-x 4 bartm002 admin 128 May 6 00:53 .
> | drwxr-xr-x 3 bartm002 admin 96 May 6 00:53 ..
> | drwxr-xr-x 4 bartm002 admin 128 May 6 00:53 12
> | lrwxr-xr-x 1 bartm002 admin 28 May 6 00:53 libgccjit.0.dylib -> ../current/libgccjit.0.dylib
> | lrwxr-xr-x 1 bartm002 admin 26 May 6 00:53 libgccjit.dylib -> ../current/libgccjit.dylib
> | drwxr-xr-x 4 bartm002 admin 128 May 6 00:53 current
> | -rw-r--r-- 1 bartm002 admin 41M Aug 6 18:47 libgccjit.0.dylib
> | lrwxr-xr-x 1 bartm002 admin 17 May 6 00:53 libgccjit.dylib -> libgccjit.0.dylib
> `----
>
> Here I modify the test to return only the first line and the build
> succeeds after this change.
> ,----
> | (python_training) bartm002 <at> C02FM1E2MD6T ~ % brew ls -v libgccjit | grep -E 'libgccjit\.(so|dylib)$' | head -n 1
> | /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/current/libgccjit.dylib
> `----
>
> ,----
> | diff --git a/configure.ac b/configure.ac
> | index 1a264275bd..2d88d0ac15 100644
> | --- a/configure.ac
> | +++ b/configure.ac
> | @@ -4241,7 +4241,8 @@ AC_DEFUN
> | MAC_CFLAGS="-I$(dirname $($BREW ls -v libgccjit | \
> | grep libgccjit.h))"
> | MAC_LIBS="-L$(dirname $($BREW ls -v libgccjit| \
> | - grep -E 'libgccjit\.(so|dylib)$'))"
> | + grep -E 'libgccjit\.(so|dylib)$'| \
> | + head -n 1))"
> | fi
> | fi
> |
> `----
This is the same issue as in bug#57015; I've now merged these two bug
reports.
Other than that, I confess to be utterly confused by the actual issue
that's the root cause of this, and I have no idea which of the
possible suggested solutions we should use, both on master and on the
release branch. Updated proposals tend to be posted at high
frequency, which doesn't contribute to my sense of reliability of the
solutions.
I hope some macOS expert could chime in and clarify the issues enough
for us to make the decisions.
This bug report was last modified 2 years and 312 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.