Package: emacs;
Reported by: Mark Barton <mbarton98 <at> gmail.com>
Date: Sun, 7 Aug 2022 05:24:01 UTC
Severity: normal
Tags: patch
Merged with 57015, 57023, 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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 57028 in the body.
You can then email your comments to 57028 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#57028
; Package emacs
.
(Sun, 07 Aug 2022 05:24:01 GMT) Full text and rfc822 format available.Mark Barton <mbarton98 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 07 Aug 2022 05:24:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Mark Barton <mbarton98 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.50; Build error with configure when brew installed 12.1 libgccjit on macos Date: Sat, 6 Aug 2022 22:22:55 -0700
[Message part 1 (text/plain, inline)]
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 | `---- In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin21.5.0, NS appkit-2113.50 Version 12.4 (Build 21F79)) of 2022-08-06 built on C02FM1E2MD6T Repository revision: 02ee0254873d4c102728c942dc9659f942c5cfa6 Repository branch: master Windowing system distributor 'Apple', version 10.3.2113 System Description: macOS 12.4 Configured using: 'configure --with-native-compilation --with-xwidgets' Configured features: ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM XWIDGETS ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Dired by date Minor modes in effect: all-the-icons-dired-mode: t doom-modeline-mode: t pyenv-mode: t erc-autojoin-mode: t org-super-agenda-mode: t global-atomic-chrome-edit-mode: t git-identity-magit-mode: t global-git-gutter-mode: t global-git-commit-mode: t magit-auto-revert-mode: t global-auto-revert-mode: t global-hungry-delete-mode: t hungry-delete-mode: t lin-mode: t global-undo-tree-mode: t show-smartparens-global-mode: t smartparens-global-mode: t yas-global-mode: t yas-minor-mode: t shell-dirtrack-mode: t whole-line-or-region-global-mode: t whole-line-or-region-local-mode: t winner-mode: t global-so-long-mode: t hl-line-mode: t delete-selection-mode: t global-corfu-mode: t corfu-mode: t marginalia-mode: t savehist-mode: t vertico-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /Users/bartm002/.emacs.d/elpa/transient-20220806.2224/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort mail-extr emacsbug magit-patch magit-subtree magit-gitignore magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util magit-extras magit-delta xterm-color autoconf autoconf-mode dired-aux all-the-icons-dired dabbrev cape tabify elfeed-link org-capture cl-print org-colview org-plot ob-eukleides org-checklist org-collector org-invoice org-learn org-mairix org-toc help-fns radix-tree misearch multi-isearch speedbar ezimage dframe powershell plantuml-mode json-mode json-snatcher sql-indent cursor-sensor embark-consult consult-vertico consult compat-28 recentf tree-widget org-indent disp-table ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win ol-docview doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi display-line-numbers flyspell ispell rainbow-delimiters doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path pyenv-mode pythonic ein erc-join erc-networks erc-goodies erc-backend erc erc-compat erc-loaddefs ox-slack ox-gfm ox-md org-modern org-table-sticky-header org-mouse ob-http ob-http-mode ob-gnuplot ob-plantuml ob-latex ob-org ob-dot ob-ditaa ob-js ob-C ob-shell ob-python smartparens-python python ob-sql org-crypt org-web-tools eww xdg mm-url gnus nnheader range esxml-query org-omnifocus org-devonthink org-sidebar org-ql-search org-ql-view ov org-super-agenda ht org-ql peg ts org-habit ox-clip htmlize org-pomodoro alert log4e notifications dbus gntp org-timer org-clock org-bullets org-eldoc ox-extra ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda org-refile ox-html table ox-ascii ox-publish ox org-contrib org-protocol iedit iedit-lib all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons atomic-chrome websocket bindat let-alist rg rg-info-hack rg-menu rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header ibuf-ext ibuffer ibuffer-loaddefs elfeed-tube elfeed-tube-utils aio elfeed-score elfeed-score-maint elfeed-score-scoring elfeed-score-serde elfeed-score-rule-stats elfeed-score-rules elfeed-score-log elfeed-org org-element elfeed-show elfeed-search vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view magit-bookmark bookmark elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib avl-tree url-queue xml-query git-identity hydra lv f f-shortdoc shortdoc git-link magit-gitflow magit-lfs git-timemachine vc-git git-gutter magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff-mode git-commit log-edit message sendmail yank-media rfc822 mml mml-sec gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-base magit-section crm compat-27 compat-26 compat dired-subtree dired-narrow dired-hacks-utils dired dired-loaddefs autorevert multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core rect hungry-delete lin undo-tree diff yaml-mode rjsx-mode smartparens-html sgml-mode facemenu js2-mode etags fileloop generator smartparens-javascript js smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs smartparens-racket racket-mode racket-bug-report racket-collection tq racket-repl-buffer-name racket-stepper racket-logger racket-profile racket-smart-open racket-xp racket-xp-complete racket-imenu racket-edit hideshow racket-repl semantic/symref/grep grep semantic/symref semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet racket-show face-remap pos-tip racket-eldoc racket-company-doc racket-describe racket-scribble racket-visit shr pixel-fill kinsoku url-file puny svg xml dom racket-complete racket-common racket-parens racket-indent racket-font-lock racket-ppss racket-keywords-and-builtins racket-doc racket-browse-url racket-cmd racket-back-end racket-util racket-custom sh-script smie executable eglot array filenotify jsonrpc ert ewoc debug backtrace flymake-proc flymake smartparens-config smartparens-org smartparens-text smartparens-clojure smartparens use-package-diminish try yasnippet-classic-snippets yasnippet-snippets yasnippet ejc-sql-conf epa-file epa epg rfc6068 epg-config ejc-sql ejc-completion-common ejc-doc ejc-interaction clomacs simple-httpd net-utils ejc-eldoc ejc-format ejc-result-buffer ejc-result-mode cua-base ejc-lib s dash cider tramp-sh cider-debug cider-browse-ns cider-mode cider-find cider-inspector cider-completion cider-profile cider-eval cider-jar arc-mode archive-mode compile text-property-search cider-repl-history pulse derived cider-repl cider-resolve cider-test cider-overlays cider-stacktrace cider-doc cider-browse-spec cider-clojuredocs cider-eldoc cider-client cider-common xref project cider-connection cider-util color cider-popup sesman-browser nrepl-client tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell parse-time ls-lisp queue nrepl-dict spinner sesman vc vc-dispatcher clojure-mode lisp-mnt align imenu parseedn parseclj-parser parseclj-lex parseclj-alist sql view unfill whole-line-or-region move-text default-text-scale zoom-window winner comp comp-cstr warnings so-long hl-line delsel desktop frameset cus-edit pp cus-load wid-edit corfu exec-path-from-shell marginalia embark ffap thingatpt savehist orderless vertico ace-window avy transpose-frame edmacro kmacro modus-operandi-theme modus-themes pcase use-package-bind-key bind-key cl-extra help-mode use-package-ensure use-package-core org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color ring org-list org-faces org-entities noutline outline easy-mmode icons org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat advice org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs finder-inf all-the-icons-dired-autoloads all-the-icons-autoloads atomic-chrome-autoloads cape-autoloads cider-autoloads clojure-mode-autoloads consult-dir-autoloads corfu-autoloads deadgrep-autoloads diff-ansi-autoloads doom-modeline-autoloads dumb-jump-autoloads eglot-autoloads ein-autoloads elfeed-score-autoloads elfeed-tube-mpv-autoloads elfeed-tube-autoloads aio-autoloads embark-consult-autoloads consult-autoloads embark-autoloads expand-region-autoloads git-identity-autoloads git-link-autoloads gnuplot-autoloads hydra-autoloads rx lv-autoloads magit-delta-autoloads magit-autoloads git-commit-autoloads magit-section-autoloads marginalia-autoloads markdown-mode-autoloads mpv-autoloads multiple-cursors-autoloads org-contrib-autoloads async-autoloads org-modern-autoloads org-ql-autoloads ox-pandoc-autoloads pdf-tools-autoloads powershell-autoloads pydoc-autoloads python-pytest-autoloads projectile-autoloads pythonic-autoloads racket-mode-autoloads request-autoloads js2-mode-autoloads pos-tip-autoloads f-autoloads smartparens-autoloads reformatter-autoloads sudo-edit-autoloads transient-autoloads dash-autoloads vertico-autoloads with-editor-autoloads info compat-autoloads xterm-color-autoloads yaml-mode-autoloads yasnippet-snippets-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile cconv url-vars cl-loaddefs cl-lib rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads xwidget-internal kqueue cocoa ns lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 3055653 115699) (symbols 48 74116 0) (strings 32 373014 26917) (string-bytes 1 12592723) (vectors 16 157216) (vector-slots 8 3466067 343745) (floats 8 1412 2165) (intervals 56 229510 1627) (buffers 992 40))
[Message part 2 (text/html, inline)]
[configure.ac.macos_brew_test_libgccjit.patch (application/octet-stream, attachment)]
[Message part 4 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57028
; Package emacs
.
(Sun, 07 Aug 2022 06:30:03 GMT) Full text and rfc822 format available.Message #8 received at 57028 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Mark Barton <mbarton98 <at> gmail.com> Cc: 57028 <at> debbugs.gnu.org Subject: Re: bug#57028: 29.0.50; Build error with configure when brew installed 12.1 libgccjit on macos Date: Sun, 07 Aug 2022 09:29:04 +0300
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.
Eli Zaretskii <eliz <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Sun, 07 Aug 2022 06:30:03 GMT) Full text and rfc822 format available.Eli Zaretskii <eliz <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Sun, 07 Aug 2022 06:51:03 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#57028
; Package emacs
.
(Sun, 07 Aug 2022 07:16:01 GMT) Full text and rfc822 format available.Message #15 received at 57028 <at> debbugs.gnu.org (full text, mbox):
From: Mark Barton <mbarton98 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 57028 <at> debbugs.gnu.org Subject: Re: bug#57028: 29.0.50; Build error with configure when brew installed 12.1 libgccjit on macos Date: Sun, 7 Aug 2022 00:15:09 -0700
[Message part 1 (text/plain, inline)]
> On Aug 6, 2022, at 11:29 PM, Eli Zaretskii <eliz <at> gnu.org> wrote: > > I hope some macOS expert could chime in and clarify the issues enough > for us to make the decisions. 57015 has a more precise solution than mine in 57028 since it uses readlink to follow the symbolic link to always get the path to the actual library. Mark
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57028
; Package emacs
.
(Sun, 07 Aug 2022 08:50:02 GMT) Full text and rfc822 format available.Message #18 received at 57028 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Mark Barton <mbarton98 <at> gmail.com> Cc: 57028 <at> debbugs.gnu.org Subject: Re: bug#57028: 29.0.50; Build error with configure when brew installed 12.1 libgccjit on macos Date: Sun, 07 Aug 2022 11:49:36 +0300
> From: Mark Barton <mbarton98 <at> gmail.com> > Date: Sun, 7 Aug 2022 00:15:09 -0700 > Cc: 57028 <at> debbugs.gnu.org > > On Aug 6, 2022, at 11:29 PM, Eli Zaretskii <eliz <at> gnu.org> wrote: > > I hope some macOS expert could chime in and clarify the issues enough > for us to make the decisions. > > 57015 has a more precise solution than mine in 57028 since it uses readlink to follow the symbolic link to > always get the path to the actual library. But we then established that 'readlink' cannot be relied upon to exist on any random system. So AFAIU, that solution cannot be used.
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Sun, 07 Aug 2022 13:00:03 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#57028
; Package emacs
.
(Sun, 07 Aug 2022 16:56:01 GMT) Full text and rfc822 format available.Message #23 received at 57028 <at> debbugs.gnu.org (full text, mbox):
From: Mark Barton <mbarton98 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 57028 <at> debbugs.gnu.org Subject: Re: bug#57028: 29.0.50; Build error with configure when brew installed 12.1 libgccjit on macos Date: Sun, 7 Aug 2022 09:55:10 -0700
> On Aug 7, 2022, at 1:49 AM, Eli Zaretskii <eliz <at> gnu.org> wrote: > >> From: Mark Barton <mbarton98 <at> gmail.com> >> Date: Sun, 7 Aug 2022 00:15:09 -0700 >> Cc: 57028 <at> debbugs.gnu.org >> >> On Aug 6, 2022, at 11:29 PM, Eli Zaretskii <eliz <at> gnu.org> wrote: >> >> I hope some macOS expert could chime in and clarify the issues enough >> for us to make the decisions. >> >> 57015 has a more precise solution than mine in 57028 since it uses readlink to follow the symbolic link to >> always get the path to the actual library. > > But we then established that 'readlink' cannot be relied upon to exist > on any random system. So AFAIU, that solution cannot be used. I forgot about grep having the -m parameter to restrict the number of matches. Here you see it returns the single directory that would be assigned to the env variable. (python_training) bartm002 <at> C02FM1E2MD6T ~ % dirname $(brew ls -v libgccjit | grep -m 1 -E 'libgccjit\.(so|dylib)$') /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/current Here I show the problem with multiple hits, the dirname result to be assigned is two lines. (python_training) bartm002 <at> C02FM1E2MD6T ~ % dirname $(brew ls -v libgccjit | grep -m 2 -E 'libgccjit\.(so|dylib)$') /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/current /usr/local/Cellar/libgccjit/12.1.0/lib/gcc/12 Either dirname result is good to use, just not both. Adding the "-m 1" to the existing grep would not introduce more dependencies.
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Mon, 05 Sep 2022 18:45:03 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Tue, 04 Oct 2022 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.