From unknown Wed Jun 18 23:04:29 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#47558 <47558@debbugs.gnu.org> To: bug#47558 <47558@debbugs.gnu.org> Subject: Status: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Reply-To: bug#47558 <47558@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:04:29 +0000 retitle 47558 28.0.50; dlopen 'image not found' gccemacs native-lisp macos reassign 47558 emacs submitter 47558 Bryan O'Brien severity 47558 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 01 23:07:03 2021 Received: (at submit) by debbugs.gnu.org; 2 Apr 2021 03:07:03 +0000 Received: from localhost ([127.0.0.1]:58906 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSA9F-0003hV-8j for submit@debbugs.gnu.org; Thu, 01 Apr 2021 23:07:02 -0400 Received: from lists.gnu.org ([209.51.188.17]:51506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lS8k8-0001cM-Kg for submit@debbugs.gnu.org; Thu, 01 Apr 2021 21:37:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lS8k8-0003ZL-0m for bug-gnu-emacs@gnu.org; Thu, 01 Apr 2021 21:37:00 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]:37691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lS8jx-0005Ni-Ex for bug-gnu-emacs@gnu.org; Thu, 01 Apr 2021 21:36:58 -0400 Received: by mail-pf1-x432.google.com with SMTP id c204so2686480pfc.4 for ; Thu, 01 Apr 2021 18:36:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:date:message-id:mime-version; bh=tWBAqknJRN2CjUA9b9ppZxzKTKqICiuD+xZu+nco0PU=; b=eNme08+CXzDqkhfoyrQ5P037L6PJtpOXmgDUPqa+UI+Fr4jvY62OPVbbTvimnn1YX3 4c7F2apsOES1FyDeGaJROfeDMIq0m+OAVhEef1FYflgAwzybRxMLJpzPerzemj6aTbBU 3f/R/859kzgzsG8ETVkPZDCu6rptXqKyGl85CfB8nn/N3ZhhbTTHlZnPE50P2hAgptkk ZcvK5TNaZatTvagqFO0PFmgqATtWgUU229fFmS9bhWDt4K4bygX34cagP1JxtOnMJxmB xYialvIBBePDQZu6Z16znNbmJGeesHDqASPijQKMINF8FZPpjDSRbXFOAuN6hCgLdqDw vk8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version; bh=tWBAqknJRN2CjUA9b9ppZxzKTKqICiuD+xZu+nco0PU=; b=B+hbtATGk3cIVpeqyjxFyGM8rlT24kJMrsltzWz0N9dxYqX73hfvOWTATtYJaVXI5F y9lq1Plod8mUqkfvcZ2Sz7mddhCPfKPG30upEHjtZ4oLABTcpwdlyFjSI3ynIhhRQ9my Y2AJcHkKrNeDb3+4yQi6PwbU0iJ8u3LBmWxrbd4rj0f3Z/9nv7R9eKFX2w31n9zI25p3 XdAbaSsVGbt8VQk46nbBg48SkuMvPv7XkYZ21f+d7mdVUtYiOAW4UINzsu54IUbSGIA6 E/EbPUzowtbuZ7+Q0BYyAelup4pjex4BScY6FzWr0/CyYqneeUg7rOgp8HWmqVbpLZ0M R8KQ== X-Gm-Message-State: AOAM532Gu6lTlOLxHYI5ZlgPcZwWCoUEyeIIyjo6lJRb3Ra8l4zNNRUN W3+7bdbQgeR0luXm2DsPSjZ1SqqToRQY X-Google-Smtp-Source: ABdhPJyEE3/qgCodX//vezU3MPTm02jNvRx5f0/jVhSY8no1TgOmZblNMNtVzAOsNHw7zDEKaVMWag== X-Received: by 2002:a62:7d07:0:b029:21b:d1bc:f6c8 with SMTP id y7-20020a627d070000b029021bd1bcf6c8mr9889932pfc.45.1617327406244; Thu, 01 Apr 2021 18:36:46 -0700 (PDT) Received: from Cuchulainn.local ([184.170.252.159]) by smtp.gmail.com with ESMTPSA id i7sm6356446pgq.16.2021.04.01.18.36.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Apr 2021 18:36:45 -0700 (PDT) User-agent: mu4e 1.4.15; emacs 28.0.50 From: Bryan O'Brien To: bug-gnu-emacs@gnu.org Subject: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Date: Thu, 01 Apr 2021 20:36:43 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::432; envelope-from=bryan.m.obrien@gmail.com; helo=mail-pf1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 01 Apr 2021 23:07:00 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Compiling gccemacs from latest git branch. Emacs compiles with warnings but no errors. Starting Emacs with fails with: gccemacs/nextstep/Emacs.app/Contents/MacOS/Emacs -Q --debug-init emacs: dlopen(/Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-2865d7b3/window-0d1b8b93-513ac8ca.eln, 1): image not found Workaround is as follows: cd ~/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents ln -s ~/src/gnu-emacs/28/gccemacs/native-lisp . In GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin20.4.0, NS appkit-2022.44 Version 11.3 (Build 20E5224a)) of 2021-04-01 built on Cuchulainn.local Repository revision: 978afd788fd0496540f715b83f18ed390ca8d5a4 Repository branch: feature/native-comp Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.3 Configured using: 'configure --with-native-compilation --with-x-widgets CFLAGS=-I/usr/local/opt/libgccjit/include LDFLAGS=-L/usr/local/opt/libgccjit/lib/gcc/10' Configured features: ACL DBUS GLIB GNUTLS JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TOOLKIT_SCROLL_BARS XIM 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: mu4e:main Minor modes in effect: helm-descbinds-mode: t helm-mode: t helm-flx-mode: t helm--remap-mouse-mode: t async-bytecomp-package-mode: t global-evil-surround-mode: t global-git-gutter+-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t show-smartparens-global-mode: t yas-global-mode: t evil-escape-mode: t global-display-line-numbers-mode: t recentf-mode: t global-git-commit-mode: t winner-mode: t projectile-mode: t winum-mode: t pupo-mode: t global-vi-tilde-fringe-mode: t global-undo-tree-mode: t undo-tree-mode: t spaceline-info-mode: t spaceline-helm-mode: t save-place-mode: t savehist-mode: t persp-mode: t global-hl-todo-mode: t purpose-mode: t eyebrowse-mode: t global-anzu-mode: t anzu-mode: t editorconfig-mode: t clean-aindent-mode: t which-key-mode: t override-global-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-mode: t ido-vertical-mode: t global-page-break-lines-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t overwrite-mode: overwrite-mode-binary Load-path shadows: /Users/bobrien/.emacs.d/elpa/28.0/develop/modus-vivendi-theme-0.13.2/modus-vivendi-theme hides /Users/bobrien/.emacs.d/elpa/28.0/develop/modus-themes-20210327.2018/modus-vivendi-theme /Users/bobrien/.emacs.d/elpa/28.0/develop/modus-operandi-theme-0.13.2/modus-operandi-theme hides /Users/bobrien/.emacs.d/elpa/28.0/develop/modus-themes-20210327.2018/modus-operandi-theme /Users/bobrien/.emacs.d/elpa/28.0/develop/magit-section-20210224.1417/magit-section hides /Users/bobrien/.emacs.d/elpa/28.0/develop/magit-20210327.1617/magit-section /Users/bobrien/.emacs.d/elpa/28.0/develop/spinner-1.7.3/spinner hides /Users/bobrien/.emacs.d/core/libs/spinner /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-stan hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-stan /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-exp hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-exp /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-J hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-J /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-emacs-lisp hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-css hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-css /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-lob hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lob /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-irc hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-irc /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-forth hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-forth /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-macs hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-macs /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-version hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-version /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-scheme hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-scheme /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-abc hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-abc /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-C hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-C /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-capture hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-capture /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-ref hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ref /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-clojure hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-clojure /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-mouse hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mouse /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-ledger hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ledger /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-ctags hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-ctags /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-entities hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-entities /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-archive hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-archive /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-screen hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-screen /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-bibtex hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-bibtex /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-haskell hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-haskell /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-asymptote hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-asymptote /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-table hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-table /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-eww hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-eww /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-org hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-org /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-num hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-num /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-plot hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-plot /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-rmail hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-rmail /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-awk hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-awk /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-groovy hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-groovy /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-octave hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-octave /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-faces hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-faces /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-colview hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-colview /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-R hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-R /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-refile hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-refile /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-timer hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-timer /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-ebnf hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ebnf /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-mobile hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mobile /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-fortran hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-fortran /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-shell hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-shell /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-perl hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-perl /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-sqlite hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sqlite /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-sed hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sed /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-list hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-list /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-ruby hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ruby /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-eval hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-eval /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-habit hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-habit /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-clock hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-clock /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-goto hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-goto /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-html hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-html /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-src hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-src /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-lisp hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lisp /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-eshell hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-eshell /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-ditaa hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ditaa /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-pcomplete hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-pcomplete /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-lint hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-lint /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-latex hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-latex /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-sass hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sass /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-io hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-io /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-tangle hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-tangle /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-calc hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-calc /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-java hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-java /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-icalendar hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-icalendar /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-mhe hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-mhe /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-attach-git hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-attach-git /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-md hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-md /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-beamer hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-beamer /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-element hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-element /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-protocol hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-mscgen hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-mscgen /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-gnuplot hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-tempo hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-tempo /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-latex hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-latex /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-w3m hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-w3m /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-id hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-id /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-vala hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-vala /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-man hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-man /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-feed hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-feed /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-lua hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lua /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-table hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-table /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-ocaml hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ocaml /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-coq hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-coq /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-gnus hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-gnus /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-picolisp hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-picolisp /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-indent hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-indent /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-lilypond hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lilypond /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-matlab hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-matlab /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-datetree hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-docview hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-docview /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-python hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-python /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-makefile hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-makefile /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-duration hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-duration /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-agenda hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-agenda /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-dot hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-dot /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-js hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-js /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-publish hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-publish /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-inlinetask hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-org hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-org /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-keys hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-keys /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-core hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-core /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-compat hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-compat /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-odt hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-odt /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-info hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-info /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-plantuml hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-plantuml /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-eshell hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-eshell /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-ascii hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-ascii /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-loaddefs hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-loaddefs /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-hledger hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-hledger /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-maxima hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-maxima /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ol-bbdb hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ol-bbdb /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-macro hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-macro /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-sql hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sql /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-attach hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-attach /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-processing hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-processing /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ox-texinfo hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-texinfo /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-crypt hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-crypt /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-footnote hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/org-install hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/org-install /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-comint hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-comint /Users/bobrien/.emacs.d/elpa/28.0/develop/org-plus-contrib-20210322/ob-shen hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-shen /Users/bobrien/.emacs.d/elpa/28.0/develop/hierarchy-20190425.842/hierarchy hides /Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/Resources/lisp/emacs-lisp/hierarchy Features: (shadow face-remap emacsbug flx tramp-archive tramp-gvfs dbus xml helm-command helm-elisp helm-eval edebug backtrace helm-info helm-descbinds helm-mode helm-files helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm-flx helm async-bytecomp helm-global-bindings helm-source helm-multi-match helm-lib evil-surround git-gutter-fringe+ fringe-helper git-gutter+ tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat ls-lisp goto-addr vc-mtn vc-hg vc-git vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher auto-highlight-symbol evil-lisp-state flycheck-pos-tip pos-tip flycheck highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters smartparens-config smartparens-org smartparens-markdown smartparens-text smartparens yasnippet-snippets yasnippet sh-script smie executable editorconfig-core editorconfig-core-handle editorconfig-fnmatch evil-escape display-line-numbers recentf tree-widget epa-file auth-source-pass org-mu4e ox-gfm ox-md 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 ox-html table ox-ascii ox-publish ox org-element avl-tree generator mu4e-org orgit git-rebase forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub gnutls forge-notify forge-revnote forge-pullreq forge-issue forge-topic parse-time iso8601 bug-reference forge-post markdown-mode forge-repo forge forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm evil-collection-magit 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 pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-section magit-utils crm org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs find-func gnus-dired mu4e desktop frameset mu4e-main mu4e-view cal-menu calendar cal-loaddefs mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions rfc2368 smtpmail sendmail mu4e-mark mu4e-message flow-fill mu4e-proc mu4e-utils doc-view jka-compr image-mode exif mu4e-lists mu4e-vars message rmc puny rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs time-date mailabbrev mail-utils gmm-utils mailheader mu4e-meta winner server async projectile grep compile text-property-search diminish xterm-color ws-butler winum spacemacs-purpose-popwin window-purpose-x ibuf-macs imenu-list imenu ibuf-ext ibuffer ibuffer-loaddefs evil-collection-dired dired dired-loaddefs vi-tilde-fringe undo-tree diff symbol-overlay string-inflection string-edit spaceline-all-the-icons spaceline-all-the-icons-separators spaceline-all-the-icons-segments all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize spaceline-config spaceline-segments spaceline powerline powerline-separators color powerline-themes saveplace savehist posframe popwin persp-mode osx-trash org-rich-yank multi-line multi-line-find multi-line-enter multi-line-decorator multi-line-respace multi-line-shared shut-up multi-line-cycle multi-line-candidate hl-todo window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch let-alist window-purpose-layout window-purpose-core window-purpose-configuration window-purpose-utils eyebrowse evil-unimpaired f evil-textobj-line evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common evil-easymotion evil-collection-buff-menu evil-collection annalist evil-anzu anzu emr popup s dash editorconfig noutline outline drag-stuff clean-aindent-mode helm-easymenu cl hybrid-mode evil-evilified-state which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv evil evil-integration evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs evil-vars ring bind-map quelpa mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr lisp-mnt help-fns radix-tree hl-line xt-mouse autorevert filenotify comp comp-cstr cl-extra disp-table afternoon-theme format-spec info finder-inf ido-vertical-mode ido core-spacemacs core-spacebind core-use-package-ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-themes-support core-display-init core-jump core-release-management core-custom-settings core-configuration-layer eieio-compat core-progress-bar core-spacemacs-buffer core-funcs spacemacs-ht inline help-mode warnings package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq password-cache json map url-vars eieio eieio-core eieio-loaddefs epg epg-config core-command-line pcase core-debug edmacro kmacro derived profiler core-hooks page-break-lines easy-mmode core-env load-env-vars rx core-dotspacemacs advice core-customization validate cus-edit pp cus-start cus-load wid-edit seq byte-opt bytecomp byte-compile cconv core-emacs-backports core-compilation core-dumper subr-x spinner cl-macs gv cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-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 cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process nativecomp emacs) Memory information: ((conses 16 1092259 903877) (symbols 48 66381 9) (strings 32 249629 170669) (string-bytes 1 9258978) (vectors 16 103579) (vector-slots 8 1950135 778485) (floats 8 1396 5940) (intervals 56 4131 1596) (buffers 992 17)) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 02 01:46:56 2021 Received: (at 47558) by debbugs.gnu.org; 2 Apr 2021 05:46:56 +0000 Received: from localhost ([127.0.0.1]:58968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSCdz-0007lr-Tq for submit@debbugs.gnu.org; Fri, 02 Apr 2021 01:46:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49084) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSCdy-0007ld-2m for 47558@debbugs.gnu.org; Fri, 02 Apr 2021 01:46:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42685) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSCds-0001zy-RG; Fri, 02 Apr 2021 01:46:48 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4278 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lSCds-00065M-5x; Fri, 02 Apr 2021 01:46:48 -0400 Date: Fri, 02 Apr 2021 08:46:35 +0300 Message-Id: <83ft09fdc4.fsf@gnu.org> From: Eli Zaretskii To: Bryan O'Brien In-Reply-To: (message from Bryan O'Brien on Thu, 01 Apr 2021 20:36:43 -0500) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Bryan O'Brien > Date: Thu, 01 Apr 2021 20:36:43 -0500 > > > Compiling gccemacs from latest git branch. > Emacs compiles with warnings but no errors. > Starting Emacs with fails with: > > gccemacs/nextstep/Emacs.app/Contents/MacOS/Emacs -Q --debug-init > emacs: > dlopen(/Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-2865d7b3/window-0d1b8b93-513ac8ca.eln, 1): image not found > > Workaround is as follows: > > cd ~/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents > ln -s ~/src/gnu-emacs/28/gccemacs/native-lisp . Do you understand the need for this workaround on macOS? If so, can you explain what's going on here? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 02 12:29:34 2021 Received: (at 47558) by debbugs.gnu.org; 2 Apr 2021 16:29:34 +0000 Received: from localhost ([127.0.0.1]:32803 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSMfu-0005ap-38 for submit@debbugs.gnu.org; Fri, 02 Apr 2021 12:29:34 -0400 Received: from outbound.soverin.net ([116.202.65.218]:56895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSMfr-0005ad-SB for 47558@debbugs.gnu.org; Fri, 02 Apr 2021 12:29:32 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 21AE66008B; Fri, 2 Apr 2021 16:29:26 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617380965; bh=pZ/SWnhRj1WHS1rx9AUNeLBMgIoHji2eDNoEbjU0XDc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GEwZUax55pFseek1G1hzJST4at5g454gy4VpisyIvCDUnM1DNBgv2H5j5fNbuUiSs GKEum+02xSByq7MF6+oTrx5VW/6OpfnkRlm5il7hJS2v/lJJM/GlZ3+hlgM0fBHFTz XWfHCzbpt1ULo+PgdQ6318cVhvslYYyI8VPe5+7iWUqQnABCkIw+S+nH3GaoKsitNY uwsuYz2Ap1Ya+mmk7mKrZSJSdxq2OfYfYaOcLtkpXiMPS2F1t8iorN+5lGCOultSqX vItN6bcunAaYoMfmo6hrOo3+zNx8tM8SgumW70lmwKnZ9aUkfrjq5ugo02w21KTLDx 2LI34uagdpkwg== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 79CF2202B6E055; Fri, 2 Apr 2021 17:29:22 +0100 (BST) Date: Fri, 2 Apr 2021 17:29:22 +0100 From: Alan Third To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Eli Zaretskii , Bryan O'Brien , 47558@debbugs.gnu.org References: <83ft09fdc4.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83ft09fdc4.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: Bryan O'Brien , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Fri, Apr 02, 2021 at 08:46:35AM +0300, Eli Zaretskii wrote: > > From: Bryan O'Brien > > Date: Thu, 01 Apr 2021 20:36:43 -0500 > > > > > > Compiling gccemacs from latest git branch. > > Emacs compiles with warnings but no errors. > > Starting Emacs with fails with: > > > > gccemacs/nextstep/Emacs.app/Contents/MacOS/Emacs -Q --debug-init > > emacs: > > dlopen(/Users/bobrien/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-2865d7b3/window-0d1b8b93-513ac8ca.eln, 1): image not found > > > > Workaround is as follows: > > > > cd ~/src/gnu-emacs/28/gccemacs/nextstep/Emacs.app/Contents > > ln -s ~/src/gnu-emacs/28/gccemacs/native-lisp . > > Do you understand the need for this workaround on macOS? If so, can > you explain what's going on here? It looks to me like the "-D" flag for the install command isn't available on macOS. I think the equivalent is "-d", which appears to do something different again on GNU/Linux. Line 752 of Makefile.in: ### Install native compiled Lisp files. install-eln: ifeq ($(HAVE_NATIVE_COMP),yes) find native-lisp -type f -exec ${INSTALL_DATA} -D "{}" "$(ELN_DESTDIR){}" \; endif ^^ -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 02 14:39:54 2021 Received: (at 47558) by debbugs.gnu.org; 2 Apr 2021 18:39:54 +0000 Received: from localhost ([127.0.0.1]:32845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSOi2-0000Hz-6P for submit@debbugs.gnu.org; Fri, 02 Apr 2021 14:39:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40230) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSOi0-0000Hn-6N for 47558@debbugs.gnu.org; Fri, 02 Apr 2021 14:39:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37483) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSOhs-0004PG-OE; Fri, 02 Apr 2021 14:39:45 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1458 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lSOhs-0007Cp-3W; Fri, 02 Apr 2021 14:39:44 -0400 Date: Fri, 02 Apr 2021 21:39:32 +0300 Message-Id: <8335w8fs4b.fsf@gnu.org> From: Eli Zaretskii To: Alan Third In-Reply-To: (message from Alan Third on Fri, 2 Apr 2021 17:29:22 +0100) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83ft09fdc4.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Fri, 2 Apr 2021 17:29:22 +0100 > From: Alan Third > Cc: Bryan O'Brien , 47558@debbugs.gnu.org > > It looks to me like the "-D" flag for the install command isn't > available on macOS. I think the equivalent is "-d", which appears to > do something different again on GNU/Linux. > > Line 752 of Makefile.in: > > ### Install native compiled Lisp files. > install-eln: > ifeq ($(HAVE_NATIVE_COMP),yes) > find native-lisp -type f -exec ${INSTALL_DATA} -D "{}" "$(ELN_DESTDIR){}" \; > endif We should use mkdir explicitly, I think. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 02 17:52:07 2021 Received: (at 47558) by debbugs.gnu.org; 2 Apr 2021 21:52:07 +0000 Received: from localhost ([127.0.0.1]:32979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSRi3-00054v-38 for submit@debbugs.gnu.org; Fri, 02 Apr 2021 17:52:07 -0400 Received: from outbound.soverin.net ([116.202.65.218]:47161) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSRi1-00054S-Mt for 47558@debbugs.gnu.org; Fri, 02 Apr 2021 17:52:06 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id E54F76008B; Fri, 2 Apr 2021 21:51:59 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617400319; bh=v5fxcJwfvJEMzG9TgUoNIjM2aiptfCpZB5muJf/8NY4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=KxOCq+zjx1OeIMF4um4Q5x9zk05VN8x5+kwByFDJccLBpoKdIy9BWhmIcaCZh0Hpm 4kWjIx+JHKqqW1i/lrp8FxLLCzSXQz6LqyFezL2pULlpcAOouN89PZmC+bQGy7shDz HTSrWGa+aNS0zj7WJGBfG24ZMpUJ1ByYiFWmIiCYIzEgJFvtHuJ4zDzw0XnjtwIB8N iShG0OAvIJ7NCjyv08fSYFHJkIV481krEPekUV2Kj3iVol0u1yDiGaL3aBNxvAA3sl VhKtn2d1hzs3oLOa6YhYJZcOidev2I+81mJClctQGntGBByUDDtusrjLt8Yz2RYjT2 6aDKMl5KDGQYA== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 73317202B7C4F2; Fri, 2 Apr 2021 22:51:56 +0100 (BST) Date: Fri, 2 Apr 2021 22:51:56 +0100 From: Alan Third To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8335w8fs4b.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Fri, Apr 02, 2021 at 09:39:32PM +0300, Eli Zaretskii wrote: > > Date: Fri, 2 Apr 2021 17:29:22 +0100 > > From: Alan Third > > Cc: Bryan O'Brien , 47558@debbugs.gnu.org > > > > It looks to me like the "-D" flag for the install command isn't > > available on macOS. I think the equivalent is "-d", which appears to > > do something different again on GNU/Linux. > > > > Line 752 of Makefile.in: > > > > ### Install native compiled Lisp files. > > install-eln: > > ifeq ($(HAVE_NATIVE_COMP),yes) > > find native-lisp -type f -exec ${INSTALL_DATA} -D "{}" "$(ELN_DESTDIR){}" \; > > endif > > We should use mkdir explicitly, I think. I think I've figured that out, but there's actually another wrinkle. 'make install' is installing the eln files in nextstep/Emacs.app/Contents/MacOS/lib/emacs/28.0.50/native-lisp/28.0.50-24e3df15 but the emacs executable is looking for them in nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/ And just to add the confusion I feel they should *actually* be installed in nextstep/Emacs.app/Contents/Resources/native-lisp or similar. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 03 02:32:43 2021 Received: (at 47558) by debbugs.gnu.org; 3 Apr 2021 06:32:43 +0000 Received: from localhost ([127.0.0.1]:33182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSZpq-0002oZ-Uy for submit@debbugs.gnu.org; Sat, 03 Apr 2021 02:32:43 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSZpp-0002oK-ND for 47558@debbugs.gnu.org; Sat, 03 Apr 2021 02:32:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49850) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSZpj-00055F-0o; Sat, 03 Apr 2021 02:32:35 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1220 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lSZpg-00039E-JX; Sat, 03 Apr 2021 02:32:34 -0400 Date: Sat, 03 Apr 2021 09:32:20 +0300 Message-Id: <83y2dzev4b.fsf@gnu.org> From: Eli Zaretskii To: Alan Third In-Reply-To: (message from Alan Third on Fri, 2 Apr 2021 22:51:56 +0100) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Fri, 2 Apr 2021 22:51:56 +0100 > From: Alan Third > Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > > I think I've figured that out, but there's actually another wrinkle. > 'make install' is installing the eln files in > > nextstep/Emacs.app/Contents/MacOS/lib/emacs/28.0.50/native-lisp/28.0.50-24e3df15 > > but the emacs executable is looking for them in > > nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/ The above happens on all platforms, so it isn't macOS specific, right? Or are you saying there's something macOS specific in ${libdir}? in the latter case, what's the story there? > And just to add the confusion I feel they should *actually* be > installed in > > nextstep/Emacs.app/Contents/Resources/native-lisp > > or similar. Why is that? From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 03 10:01:33 2021 Received: (at 47558) by debbugs.gnu.org; 3 Apr 2021 14:01:33 +0000 Received: from localhost ([127.0.0.1]:34285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSgqC-0007ZD-Lx for submit@debbugs.gnu.org; Sat, 03 Apr 2021 10:01:32 -0400 Received: from outbound.soverin.net ([116.202.65.218]:45575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSgq9-0007Yx-Tm for 47558@debbugs.gnu.org; Sat, 03 Apr 2021 10:01:32 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 27B3C600D0; Sat, 3 Apr 2021 14:01:24 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617458483; bh=YDoiCgSfVPE+NAgHHNckivtsq5GmCsggJDp82u6ciOY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LiJBLDJkMABZwFC44T4rCwzvi8r7MLB964Uh1EQ/zp6bhexTKYAkr5CfkJfCCJnO7 TLi+DDnxLxT16zKJzOq+eJzOYH1hDfY4+rFSP54ZSXBT5t409YCR2KDrUgu+mB316y e7sq/BP2oAmL8BJJLLMNdQLMc9Q2rFqNRIhdbgOmqVPF8YA+DbHA1gHVNfAtt0sH9K ts5pXqtAmgJ3MavLU3Z6j8twQsEI+wl4dam1xFGA01/AzKOzXSdI3SR0Yy7F1w+9Z0 /PLW2tK9Y8zhlXXxgWnUaEPlfizCXn3E2oI6Wcsa/WMK/ZsVQQqQovnfm6lqXwNR99 saNFqJadbwEJw== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id A1759202B7CEB2; Sat, 3 Apr 2021 15:01:20 +0100 (BST) Date: Sat, 3 Apr 2021 15:01:20 +0100 From: Alan Third To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83y2dzev4b.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sat, Apr 03, 2021 at 09:32:20AM +0300, Eli Zaretskii wrote: > > Date: Fri, 2 Apr 2021 22:51:56 +0100 > > From: Alan Third > > Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > > > > I think I've figured that out, but there's actually another wrinkle. > > 'make install' is installing the eln files in > > > > nextstep/Emacs.app/Contents/MacOS/lib/emacs/28.0.50/native-lisp/28.0.50-24e3df15 > > > > but the emacs executable is looking for them in > > > > nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/ > > The above happens on all platforms, so it isn't macOS specific, right? > Or are you saying there's something macOS specific in ${libdir}? in > the latter case, what's the story there? I think that is what happens on other platforms, but the issue here is that the emacs executable is placed in an unusual position relative to the other files because of the NS app bundle format. I'll try to explain it below, but my knowledge is not deep. > > And just to add the confusion I feel they should *actually* be > > installed in > > > > nextstep/Emacs.app/Contents/Resources/native-lisp > > > > or similar. > > Why is that? NS uses a special directory structure that appears to the system as an application. It looks something like this: Emacs.app + Contents + MacOS | + Emacs <-- The executable + Resources | + icons | + etc | + include | + info | + lisp | + ... + Info.plist + ... The layout is ever so slightly different under GNUstep. As far as I can tell the only thing that should be in the Contents/MacOS directory are executables, practically everything else lives under Resources. nsterm.m has three functions for finding the correct path for etc, exec and the lisp load path. I imagine what we want to do is install the eln files under Resources, then add a new function that returns the location of them and use it to set the correct path at the point where Emacs loads the files. It's not entirely clear to me where the load path is set, is it fixup_eln_load_path (Lisp_Object directory) in comp.c? -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 03 10:18:12 2021 Received: (at 47558) by debbugs.gnu.org; 3 Apr 2021 14:18:12 +0000 Received: from localhost ([127.0.0.1]:34292 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSh6K-0007xU-7q for submit@debbugs.gnu.org; Sat, 03 Apr 2021 10:18:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSh6J-0007xJ-8M for 47558@debbugs.gnu.org; Sat, 03 Apr 2021 10:18:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53889) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lSh6C-0004Xp-Cw; Sat, 03 Apr 2021 10:18:04 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3619 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lSh6B-0002yt-MP; Sat, 03 Apr 2021 10:18:04 -0400 Date: Sat, 03 Apr 2021 17:17:53 +0300 Message-Id: <83mtufe9ke.fsf@gnu.org> From: Eli Zaretskii To: Alan Third , Andrea Corallo In-Reply-To: (message from Alan Third on Sat, 3 Apr 2021 15:01:20 +0100) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Sat, 3 Apr 2021 15:01:20 +0100 > From: Alan Third > Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > > It's not entirely clear to me where the load path is set, is it > > fixup_eln_load_path (Lisp_Object directory) > > in comp.c? I hope Andrea (CC'ed) will be able to answer that. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 04 03:10:56 2021 Received: (at 47558) by debbugs.gnu.org; 4 Apr 2021 07:10:56 +0000 Received: from localhost ([127.0.0.1]:34778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSwuO-0005My-1t for submit@debbugs.gnu.org; Sun, 04 Apr 2021 03:10:56 -0400 Received: from mx.sdf.org ([205.166.94.24]:58249) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lSwuM-0005Mp-CZ for 47558@debbugs.gnu.org; Sun, 04 Apr 2021 03:10:54 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 1347AoBP013379 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sun, 4 Apr 2021 07:10:51 GMT From: Andrea Corallo To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> Date: Sun, 04 Apr 2021 07:10:50 +0000 In-Reply-To: <83mtufe9ke.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 03 Apr 2021 17:17:53 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Alan Third , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> Date: Sat, 3 Apr 2021 15:01:20 +0100 >> From: Alan Third >> Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org >> >> It's not entirely clear to me where the load path is set, is it >> >> fixup_eln_load_path (Lisp_Object directory) >> >> in comp.c? > > I hope Andrea (CC'ed) will be able to answer that. Okay, as window is loaded and dumped during the build `comp-eln-load-path' here doesn't come into play. While resurrecting from dump we locate preloaded eln files by filename (relative to the emacs executable position). Indeed the complication is that we have to support both uninstalled but also installed builds. To do that before dumping we inform Emacs of where will have to search the eln files if installed. We do that using ELN_DESTDIR defined Makefile.in:326. If the directory structure on MacOS is different I guess we have to add the correct information there. Regards Andrea From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 05 06:34:38 2021 Received: (at 47558) by debbugs.gnu.org; 5 Apr 2021 10:34:38 +0000 Received: from localhost ([127.0.0.1]:37006 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTMZ3-0005um-Tg for submit@debbugs.gnu.org; Mon, 05 Apr 2021 06:34:38 -0400 Received: from outbound.soverin.net ([116.202.65.218]:48209) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTMZ1-0005uQ-FN for 47558@debbugs.gnu.org; Mon, 05 Apr 2021 06:34:36 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 6E632600C1; Mon, 5 Apr 2021 10:34:29 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617618868; bh=guThNGcPmLFzETeRDR28Hagidu2NOLwFygHPWQJsHss=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=DQEyh9ukmiw8qq1ivR0CZ3jjs79EsduGptZEGEsno+fqHKix3uW28KzwoYiTfT+2D 9acY6tb8SQ/aixHwY0KmUwtCJu3imA/1zbMZNZNq6krPbHsBauxz9aTYq65v1zVZSC WyTEpsmYqwLq5/MSXWwcd0+XC/1dj/qpJNQM3dAKRT9YbOoo/Y7IqN3a0IFPr/MwXh 9p/dw9ztD69YxPlVisVtqOMuGt03ZsclTIZlZsW8ovn8AKAUYOVSNicjyOsSid04bN 39z/jhWFY0zCKqpHZimDAqAvY1QhSIhiar3U7Aq60diNLZEhw4F276DrTN2CccM2sk jWGepEoA+lQ9Q== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id B8CAA202B8E46F; Mon, 5 Apr 2021 11:34:24 +0100 (BST) Date: Mon, 5 Apr 2021 11:34:24 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sun, Apr 04, 2021 at 07:10:50AM +0000, Andrea Corallo wrote: > Eli Zaretskii writes: > > >> Date: Sat, 3 Apr 2021 15:01:20 +0100 > >> From: Alan Third > >> Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > >> > >> It's not entirely clear to me where the load path is set, is it > >> > >> fixup_eln_load_path (Lisp_Object directory) > >> > >> in comp.c? > > > > I hope Andrea (CC'ed) will be able to answer that. > > Okay, as window is loaded and dumped during the build > `comp-eln-load-path' here doesn't come into play. > > While resurrecting from dump we locate preloaded eln files by filename > (relative to the emacs executable position). Indeed the complication is > that we have to support both uninstalled but also installed builds. > > To do that before dumping we inform Emacs of where will have to search > the eln files if installed. We do that using ELN_DESTDIR defined > Makefile.in:326. > > If the directory structure on MacOS is different I guess we have to add > the correct information there. No matter what I set ELN_DESTDIR to, emacs still looks in /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15 so something isn't being updated, I guess? -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 05 16:21:29 2021 Received: (at 47558) by debbugs.gnu.org; 5 Apr 2021 20:21:29 +0000 Received: from localhost ([127.0.0.1]:38709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTViz-0004Ep-JQ for submit@debbugs.gnu.org; Mon, 05 Apr 2021 16:21:29 -0400 Received: from mx.sdf.org ([205.166.94.24]:49955) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTVix-0004Eg-3A for 47558@debbugs.gnu.org; Mon, 05 Apr 2021 16:21:27 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 135KLPCJ017553 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Mon, 5 Apr 2021 20:21:26 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> Date: Mon, 05 Apr 2021 20:21:25 +0000 In-Reply-To: (Alan Third's message of "Mon, 5 Apr 2021 11:34:24 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Sun, Apr 04, 2021 at 07:10:50AM +0000, Andrea Corallo wrote: >> Eli Zaretskii writes: >> >> >> Date: Sat, 3 Apr 2021 15:01:20 +0100 >> >> From: Alan Third >> >> Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org >> >> >> >> It's not entirely clear to me where the load path is set, is it >> >> >> >> fixup_eln_load_path (Lisp_Object directory) >> >> >> >> in comp.c? >> > >> > I hope Andrea (CC'ed) will be able to answer that. >> >> Okay, as window is loaded and dumped during the build >> `comp-eln-load-path' here doesn't come into play. >> >> While resurrecting from dump we locate preloaded eln files by filename >> (relative to the emacs executable position). Indeed the complication is >> that we have to support both uninstalled but also installed builds. >> >> To do that before dumping we inform Emacs of where will have to search >> the eln files if installed. We do that using ELN_DESTDIR defined >> Makefile.in:326. >> >> If the directory structure on MacOS is different I guess we have to add >> the correct information there. > > No matter what I set ELN_DESTDIR to, emacs still looks in > > /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15 > > so something isn't being updated, I guess? That's possible, could you specify the full procedure you've used to reach this point? Thanks Andrea From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 05 17:14:19 2021 Received: (at 47558) by debbugs.gnu.org; 5 Apr 2021 21:14:19 +0000 Received: from localhost ([127.0.0.1]:38764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTWY5-0007l3-5S for submit@debbugs.gnu.org; Mon, 05 Apr 2021 17:14:19 -0400 Received: from outbound.soverin.net ([116.202.65.218]:38807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTWY2-0007ki-E4 for 47558@debbugs.gnu.org; Mon, 05 Apr 2021 17:14:16 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id B33836022D; Mon, 5 Apr 2021 21:14:08 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617657247; bh=5ZwimqefpjrDfjR2p8WoZDPllQHG0O2AvPQLhVNPtr4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ve3M7TJfw+Ta9C9XLebuWzngwfhIp+1D2Kb+uPXakViqARr+ymtoiBOC19h2nH3Fw PQaam7jSXQ3cU9E87no7eKonhn7ilMuLOmBBxxuQKOR8wEsDqGy2VcCImzxYgIQb6T LrFpBXmW0F3CgMiQYKMpv4GUtckEl11v5XZbuVVROUQ7oefs4/9qiv5yYussG1jPfE gmc5dnqUn5yTs3rysdvHp824ZeGP4en2x1WUyHWWmTcmi++zmOLqfg688DY2TQJgbW WLfqKRBLpO6t+xu0q4MQPt0cQgc0XAqenBQmGXqOTQ0XY8hz3+GFXnFH1CHDj5Q22Q xmR2CJ2Qw/LdQ== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 868A9202B90599; Mon, 5 Apr 2021 22:14:02 +0100 (BST) Date: Mon, 5 Apr 2021 22:14:02 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Apr 05, 2021 at 08:21:25PM +0000, Andrea Corallo wrote: > Alan Third writes: > > > On Sun, Apr 04, 2021 at 07:10:50AM +0000, Andrea Corallo wrote: > >> Eli Zaretskii writes: > >> > >> >> Date: Sat, 3 Apr 2021 15:01:20 +0100 > >> >> From: Alan Third > >> >> Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > >> >> > >> >> It's not entirely clear to me where the load path is set, is it > >> >> > >> >> fixup_eln_load_path (Lisp_Object directory) > >> >> > >> >> in comp.c? > >> > > >> > I hope Andrea (CC'ed) will be able to answer that. > >> > >> Okay, as window is loaded and dumped during the build > >> `comp-eln-load-path' here doesn't come into play. > >> > >> While resurrecting from dump we locate preloaded eln files by filename > >> (relative to the emacs executable position). Indeed the complication is > >> that we have to support both uninstalled but also installed builds. > >> > >> To do that before dumping we inform Emacs of where will have to search > >> the eln files if installed. We do that using ELN_DESTDIR defined > >> Makefile.in:326. > >> > >> If the directory structure on MacOS is different I guess we have to add > >> the correct information there. > > > > No matter what I set ELN_DESTDIR to, emacs still looks in > > > > /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15 > > > > so something isn't being updated, I guess? > > That's possible, could you specify the full procedure you've used to > reach this point? ./autogen.sh ./configure --with-ns --with-native-compilation make make install Note: make install fails, I've had to apply this patch @@ -749,7 +753,8 @@ install-etc: ### Install native compiled Lisp files. install-eln: ifeq ($(HAVE_NATIVE_COMP),yes) - find native-lisp -type f -exec ${INSTALL_DATA} -D "{}" "$(ELN_DESTDIR){}" \; + find native-lisp -type d -exec $(MKDIR_P) "$(ELN_DESTDIR){}" \; ; \ + find native-lisp -type f -exec ${INSTALL_DATA} "{}" "$(ELN_DESTDIR){}" \; endif but if you were to try this with GNUstep I suspect that wouldn't be needed. And I've tried modifying ELN_DESTDIR with this @@ -323,7 +323,11 @@ CONFIG_STATUS_FILES_IN = COPYDIR = ${srcdir}/etc ${srcdir}/lisp COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}" -ELN_DESTDIR = $(DESTDIR)${libdir}/emacs/${version}/ +ifeq (${ns_self_contained},no) + ELN_DESTDIR = $(DESTDIR)${libdir}/emacs/${version}/ +else + ELN_DESTDIR = ${ns_appresdir}/ +endif all: ${SUBDIR} info which results in the .eln files being installed where I want, but running the installed Emacs (nextstep/Emacs.app/MacOS/Emacs) still gives the error emacs: dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln, 1): image not found -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 03:56:56 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 07:56:56 +0000 Received: from localhost ([127.0.0.1]:39120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTgZy-0006tt-03 for submit@debbugs.gnu.org; Tue, 06 Apr 2021 03:56:56 -0400 Received: from mx.sdf.org ([205.166.94.24]:60747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTgZu-0006th-3i for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 03:56:52 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 1367ukrA004365 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Tue, 6 Apr 2021 07:56:47 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83ft09fdc4.fsf@gnu.org> <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> Date: Tue, 06 Apr 2021 07:56:46 +0000 In-Reply-To: (Alan Third's message of "Mon, 5 Apr 2021 22:14:02 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Mon, Apr 05, 2021 at 08:21:25PM +0000, Andrea Corallo wrote: >> Alan Third writes: >> >> > On Sun, Apr 04, 2021 at 07:10:50AM +0000, Andrea Corallo wrote: >> >> Eli Zaretskii writes: >> >> >> >> >> Date: Sat, 3 Apr 2021 15:01:20 +0100 >> >> >> From: Alan Third >> >> >> Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org >> >> >> >> >> >> It's not entirely clear to me where the load path is set, is it >> >> >> >> >> >> fixup_eln_load_path (Lisp_Object directory) >> >> >> >> >> >> in comp.c? >> >> > >> >> > I hope Andrea (CC'ed) will be able to answer that. >> >> >> >> Okay, as window is loaded and dumped during the build >> >> `comp-eln-load-path' here doesn't come into play. >> >> >> >> While resurrecting from dump we locate preloaded eln files by filename >> >> (relative to the emacs executable position). Indeed the complication is >> >> that we have to support both uninstalled but also installed builds. >> >> >> >> To do that before dumping we inform Emacs of where will have to search >> >> the eln files if installed. We do that using ELN_DESTDIR defined >> >> Makefile.in:326. >> >> >> >> If the directory structure on MacOS is different I guess we have to add >> >> the correct information there. >> > >> > No matter what I set ELN_DESTDIR to, emacs still looks in >> > >> > /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15 >> > >> > so something isn't being updated, I guess? >> >> That's possible, could you specify the full procedure you've used to >> reach this point? > > ./autogen.sh > ./configure --with-ns --with-native-compilation > make > make install > > Note: make install fails, I've had to apply this patch > > > @@ -749,7 +753,8 @@ install-etc: > ### Install native compiled Lisp files. > install-eln: > ifeq ($(HAVE_NATIVE_COMP),yes) > - find native-lisp -type f -exec ${INSTALL_DATA} -D "{}" "$(ELN_DESTDIR){}" \; > + find native-lisp -type d -exec $(MKDIR_P) "$(ELN_DESTDIR){}" \; ; \ > + find native-lisp -type f -exec ${INSTALL_DATA} "{}" "$(ELN_DESTDIR){}" \; > endif > > > but if you were to try this with GNUstep I suspect that wouldn't be > needed. > > And I've tried modifying ELN_DESTDIR with this > > > @@ -323,7 +323,11 @@ CONFIG_STATUS_FILES_IN = > COPYDIR = ${srcdir}/etc ${srcdir}/lisp > COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}" > > -ELN_DESTDIR = $(DESTDIR)${libdir}/emacs/${version}/ > +ifeq (${ns_self_contained},no) > + ELN_DESTDIR = $(DESTDIR)${libdir}/emacs/${version}/ > +else > + ELN_DESTDIR = ${ns_appresdir}/ > +endif > > all: ${SUBDIR} info > > > which results in the .eln files being installed where I want, but > running the installed Emacs (nextstep/Emacs.app/MacOS/Emacs) still > gives the error > > emacs: > dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln, > 1): image not found Hi Alan, Okay the value of ELN_DESTDIR is used during dump to inform Emacs where the eln will be located (src/Makefile.in:570) so redumping is necessary. Have you tried redumping or rebuilding from scratch? Thanks! Andrea From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 06:00:54 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 10:00:54 +0000 Received: from localhost ([127.0.0.1]:39238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTiVx-0003no-SJ for submit@debbugs.gnu.org; Tue, 06 Apr 2021 06:00:54 -0400 Received: from outbound.soverin.net ([116.202.65.218]:48093) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTiVv-0003nV-2e for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 06:00:52 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id D1B44600CB; Tue, 6 Apr 2021 10:00:44 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617703243; bh=ovJk3NlFtdtktb3/Cj/TGiqqY6AO3vFcEf6dFndDSbE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=It3Jscn9KkNTasS9liBbBu8ihAoB1C9MbL/gmMF1ZCvvmO5yPkeNLknzr9Cw7/98a B+Vpcv8LVbShW16YsVCQsksYgfwjTxXPf0Qc//m9OH2dGxd8fyAyHTW3MNA2U7rL4+ WIDU9bh1gaycBz7EfTynFlZdCv6r+gax3QByjaqBN8ptRbccbpEWypbFeXlbVqQ3VY 4EEE17x7KMm9zW6BQj1WSxsqKo5aD885tfUjyypD+5BEv9SfLrH8GD6xeSscbhTe9H icF5W+/sjVIDuW2DPD6r+OZ9JOH3tWPsN5zcqOQlmuRm1oqMmxXsejHylQxQuUnPC5 CHYvJ4O+41unw== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id C4AE5202B957CD; Tue, 6 Apr 2021 11:00:34 +0100 (BST) Date: Tue, 6 Apr 2021 11:00:34 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Apr 06, 2021 at 07:56:46AM +0000, Andrea Corallo wrote: > Alan Third writes: > > emacs: > > dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln, > > 1): image not found > > Hi Alan, > > Okay the value of ELN_DESTDIR is used during dump to inform Emacs where > the eln will be located (src/Makefile.in:570) so redumping is necessary. > Have you tried redumping or rebuilding from scratch? Yes, I've tried 'make bootstrap' to no avail. FWIW, as I mentioned earlier in this thread, which you may not have seen, NS provides a method for detecting which paths to use if running in the self contained bundle, which Emacs already uses for finding the lisp path, exec path, etc. Would it be worth extending this to work with the eln files? -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 10:51:53 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 14:51:53 +0000 Received: from localhost ([127.0.0.1]:41419 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTn3Y-0001Yg-OQ for submit@debbugs.gnu.org; Tue, 06 Apr 2021 10:51:52 -0400 Received: from mx.sdf.org ([205.166.94.24]:58410) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTn3U-0001YU-9B for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 10:51:50 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 136EpkeE013270 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Tue, 6 Apr 2021 14:51:46 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <8335w8fs4b.fsf@gnu.org> <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> Date: Tue, 06 Apr 2021 14:51:46 +0000 In-Reply-To: (Alan Third's message of "Tue, 6 Apr 2021 11:00:34 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Tue, Apr 06, 2021 at 07:56:46AM +0000, Andrea Corallo wrote: >> Alan Third writes: >> > emacs: >> > dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln, >> > 1): image not found >> >> Hi Alan, >> >> Okay the value of ELN_DESTDIR is used during dump to inform Emacs where >> the eln will be located (src/Makefile.in:570) so redumping is necessary. >> Have you tried redumping or rebuilding from scratch? > > Yes, I've tried 'make bootstrap' to no avail. could you share the output of like "make bootstrap V=1"? (go parallel if you like) > FWIW, as I mentioned earlier in this thread, which you may not have > seen, NS provides a method for detecting which paths to use if running > in the self contained bundle, which Emacs already uses for finding the > lisp path, exec path, etc. Would it be worth extending this to work > with the eln files? I think talking about preloaded files we'll want to to stick to the relative path to the binary as it should work on every system, but this might information be useful in the future for the filename hashing. Thanks Andrea From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 13:36:32 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 17:36:32 +0000 Received: from localhost ([127.0.0.1]:41665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTpcu-0007tU-2c for submit@debbugs.gnu.org; Tue, 06 Apr 2021 13:36:32 -0400 Received: from outbound.soverin.net ([116.202.65.218]:49813) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTpcs-0007sR-2Y for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 13:36:30 -0400 Received: from smtp.soverin.net (unknown [10.10.3.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id DCC5A600C1; Tue, 6 Apr 2021 17:36:23 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.138]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617730583; bh=2WvSsV/Qr0ydP9lQ6RQPToCgAiGfnI1MxocXoL5w+84=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=eHbyrxPjFm5d1mpIj3MK+SFU53STCaK+ra3tTDMUNjS3opZ4mMKvRfyAlCth6xEry hY/TjOxq/CXUsJPh3KUp0uikMt9fQ7on0/evwQDEtz7nqstWtFDQhmWjKh7Z3C0brH TzImnI+ePNmFcA1pA3pRQ7sa9xrGxTUcO76mdr/Cfy2wGSfOKtLQFrrH40F2SGJUK9 TpbuJMmjD610nWVKBspp4lxHGEKdGdQlt4BQAFyPc0Dn18aDcs2sHEeHxtag0sUtD7 ct45ce0ijSJmCoZ3j2ZNTSgLSYqiRAJbeA3YpwSQ1jztk+eHm85thqCT+qIq7FR8+q 87yCtgza2P5tg== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id B86E0202B9B2C8; Tue, 6 Apr 2021 18:36:15 +0100 (BST) Date: Tue, 6 Apr 2021 18:36:15 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="UpsKhNuX3zexQbiI" Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --UpsKhNuX3zexQbiI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Apr 06, 2021 at 02:51:46PM +0000, Andrea Corallo wrote: > Alan Third writes: > > > On Tue, Apr 06, 2021 at 07:56:46AM +0000, Andrea Corallo wrote: > >> Alan Third writes: > >> > emacs: > >> > dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln, > >> > 1): image not found > >> > >> Hi Alan, > >> > >> Okay the value of ELN_DESTDIR is used during dump to inform Emacs where > >> the eln will be located (src/Makefile.in:570) so redumping is necessary. > >> Have you tried redumping or rebuilding from scratch? > > > > Yes, I've tried 'make bootstrap' to no avail. > > could you share the output of like "make bootstrap V=1"? (go parallel if > you like) Attached. -- Alan Third --UpsKhNuX3zexQbiI Content-Type: application/x-gunzip Content-Disposition: attachment; filename="bootstrap.log.gz" Content-Transfer-Encoding: base64 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 spv5hmVaU54im/EehocjC05McU4yFiIIOTPcdwx8R7wab2NIKZD5insCsaNjqVzL4/X224zO 8CuygpLnqVGkDwVj8VSWD2o2fZb/MgWwoBvI5wgMp6W1QNb5v1NSb2aOSupHrtq5ykOdLG+d 5c98loukN7RaJHeXqUXyt37im7wf0yKFmyStnCz5W3Y7oXhJ7vHjb+LGO4sU7oaDV67sLZLd NyaepZ0iXsQdVhZZvO3JIrl7kSxScYNQMQChSNy1U/heuJVmPiSFtfmw3E0nxe/yTpDCx/zt GYWA/OqchYD5b1zT0NuS78mdBoXP2en/hc+Fc/ILIemJ8oWvC2evF0PlKeXw0RcNKnfytUWS M6ItkpymbJH8ucPyTR7LgW/yLFuLJKe+WiQ9H9Ui8iRRiyRnblokPZ3SIjWHGpYFcsUAvaHq /Lf5OLkTyuaDsrO85kMKp17NB+bPhyoPEycplYbJM4fKwko+z59jA+HpiS8WyZ2NAi9zp4hY pOS8jdxHeTJF4UtyhkP+Y3baQf6rPBcg9ynbQZ//mO01z3/NdmXnvub2L+e/yp2+uU/pntjc t3T3aO5bbp9l7muyIzH/Kdm7l/smdrnlPuT3g+U+53ZO5b5me4zyH5PdOLlvuX0r+a9ih0f+ S7oXIvexsGsg972wvh6+pyvRLZJbs22RwupmeJXrgOEpWTFrkcLaUotkqzAtUrFeMR+QX9ln kdwaOHxJVovBc2FdlUUKK5DgNVmrA4/JqhZ4TNd/wLNYKWGRbE2BRRZn3+W33Dy1/JLO6Mr3 dO5TvhdmCeW3bD5NfrjNvc7N0eQ/BYkOrPD75wPyHnL4nvmSxYvwulok55+0yLwnj3/J+bzg PfUOWSTzo4jnFMnTsblF0lGsRZLxXjKS46BC/v53YvFBZize+d+No95w/+jo2x7pdOV3Obgl RmLWwEhWBH3LzVsxCjXAujGg9DHpXkbAahd6ks9Hy5y0KwamXR9kA60p6Pa5wVw44vPYtE4H /GhPHCu7D03unIIJGwIodjeOgG88+zMzy16IsJedTmfjAAuB9fW1sNc3LqOE2AjMeEpe1PKA 3ehlmkWJFUReCEoiR+U24V2P510WLbGqVOJhH1Khk61HhVS0IRVKYXIuWTxpQqnEWkTb+8Xi 2K7Epn+tQiZMJxXKxORXkzt2WKX80cBbWuzColWsVz7KUOIFzU4VwvzwKN/7UlHxIdCSpZKG 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 --UpsKhNuX3zexQbiI-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 15:26:22 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 19:26:22 +0000 Received: from localhost ([127.0.0.1]:41802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTrLB-0002Ce-NX for submit@debbugs.gnu.org; Tue, 06 Apr 2021 15:26:22 -0400 Received: from mx.sdf.org ([205.166.94.24]:61350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTrL8-0002CS-1l for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 15:26:20 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 136JQG4v011997 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Tue, 6 Apr 2021 19:26:16 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> Date: Tue, 06 Apr 2021 19:26:16 +0000 In-Reply-To: (Alan Third's message of "Tue, 6 Apr 2021 18:36:15 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Alan Third writes: > On Tue, Apr 06, 2021 at 02:51:46PM +0000, Andrea Corallo wrote: >> Alan Third writes: >> >> > On Tue, Apr 06, 2021 at 07:56:46AM +0000, Andrea Corallo wrote: >> >> Alan Third writes: >> >> > emacs: >> >> > dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln, >> >> > 1): image not found >> >> >> >> Hi Alan, >> >> >> >> Okay the value of ELN_DESTDIR is used during dump to inform Emacs where >> >> the eln will be located (src/Makefile.in:570) so redumping is necessary. >> >> Have you tried redumping or rebuilding from scratch? >> > >> > Yes, I've tried 'make bootstrap' to no avail. >> >> could you share the output of like "make bootstrap V=1"? (go parallel if >> you like) > > Attached. Okay the log looks good AFAICT. We are suggesting the eln to go in: /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/ and the eln in: /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/ For each compilation unit being dumped we modify the filename in a pair in the form of (rel-filename-from-install-bin . rel-filename-from-local-bin) in loadup.el:467 so we'll be able to locate those compilation units when resurecting. So either we compute wrongly the 'rel-filename-from-install-bin' there or something goes wrong in pdumper.c:5277 (where we use it to to identify if Emacs was installed or not). On this subject I just realized that there we used concat in place of `expand-file-name' and fixed that with 6568198213. If this does not help I suggest we apply the attached and re-bootstrap to see if the 'rel-filename-from-install-bin' we are constructing is correct. Thanks! Andrea --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=loadup.patch diff --git a/lisp/loadup.el b/lisp/loadup.el index 650288f9f8..3331445ff8 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -475,15 +475,17 @@ eln-dest-dir))) (native-comp-unit-set-file cu - (cons - ;; Relative filename from the installed binary. - (file-relative-name (expand-file-name - (file-name-nondirectory - file) - eln-dest-dir-eff) - bin-dest-dir) - ;; Relative filename from the built uninstalled binary. - (file-relative-name file invocation-directory))))) + (let ((tmp (cons + ;; Relative filename from the installed binary. + (file-relative-name (expand-file-name + (file-name-nondirectory + file) + eln-dest-dir-eff) + bin-dest-dir) + ;; Relative filename from the built uninstalled binary. + (file-relative-name file invocation-directory)))) + (print tmp) + tmp)))) h)))) (when (hash-table-p purify-flag) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 17:12:09 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 21:12:09 +0000 Received: from localhost ([127.0.0.1]:41920 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTszY-0006uu-P3 for submit@debbugs.gnu.org; Tue, 06 Apr 2021 17:12:08 -0400 Received: from outbound.soverin.net ([116.202.65.218]:55787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTszW-0006uB-S8 for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 17:12:07 -0400 Received: from smtp.soverin.net (unknown [10.10.3.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 0172A60191; Tue, 6 Apr 2021 21:11:59 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.138]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617743518; bh=LTqQFXlrOe2rD6HNa8cf1sV9eZqGz/PcXPCcgyAuDVU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bI3NjMqmq+FSAaf7pFb9ffFZ/YIeyr1rOdiAm+1mTi3OH12KgE0cC+j16PhoQHolE 5+1C+tg5AWFyZA767+yrPuoX9AL2PSWHcMVP26A+QZUBcPVbPKEgZK9aceEJtymLNN 9yr++tllqBMwT9cL3g5N53MSFqmRCnqhBvJe1aHLFvUMwS4EydxsufBIUduWsEbJtp /Sv03LRbx3iQ2Fn0AVSXsjQWgWn7JgD+1i3zUIHTwXe3TA8U7JTyJu1t1LYqH1yScI 7e72jpZp/Zb8xmJKgcVoWG/U2o/WyeUZH0HGq3Dx6bVPW0HvDzZFwAtuZOCNIwdV5M x5giF5Z4e2Z1Q== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id C56CF202BA1D85; Tue, 6 Apr 2021 22:11:52 +0100 (BST) Date: Tue, 6 Apr 2021 22:11:52 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <83mtufe9ke.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="WsABMBfN7q784ms8" Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --WsABMBfN7q784ms8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Apr 06, 2021 at 07:26:16PM +0000, Andrea Corallo wrote: > > Okay the log looks good AFAICT. > > We are suggesting the eln to go in: > /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/ > > and the eln in: > /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/ OK, I think I see what's going on. The binary is installed in Emacs.app/Contents/MacOS, but the bindir is Emacs.app/Contents/MacOS/bin, so we're going one level too far up when generating the eln path. "../../Resources/native-lisp/28.0.50-0f05d3d3/preloaded/misc-lang-7cb33d20-db3eb4ae.eln" > If this does not help I suggest we apply the attached and re-bootstrap > to see if the 'rel-filename-from-install-bin' we are constructing is > correct. I've attached the new bootstrap log in case I'm wrong and you can see something else. -- Alan Third --WsABMBfN7q784ms8 Content-Type: application/x-gunzip Content-Disposition: attachment; filename="bootstrap.log.gz" Content-Transfer-Encoding: base64 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 W77NtzuWr9fb5d3iKaPuh5/1TNPazlOQ5av1divuNuyWcx6te55mXPvhxz1LUdEFgKGXxbM1 32dsebPe3ObZU7SmjzzsuRNuMoVlq7jY3Nwu2JbzWxpbngL62NOe9fZH92u22t7c3sqbW7bk NLBsn2Tz//jznvX+u7AqbL27y+X2bs34Soj9Rj6l4z/ysGea1ip68EJshNytbtmdvJFb8TS9 +Yce9TwnihihhWV3Mt/xRc4W28VmT4LcExg/+KgvX7VR+8aJf/YgHn178dX867rWSvDoTunn /5piQl8EyPuVPFCJtXTzxrsUdy9GO56xb2Jc4z6yXgxlncIGuv2nhuJ7NLz8pz7vlzORz17T FxCWd5czWj3P/n5GvXkm9vRcqugvZ//ZBmROt39iGfSspuL+frZYrdrHnvb01C9f/fvsiz/H 0mPYxFRX9TH/8xezr+jy5PQ/Zv85LfxjSV+YNdhGlJ9cu89rL1RCF0Hyec/heUUXugDzPrW+ +Om/b//jzew7EoVbl+JZJmfR0TZ57/6ZbvrF6xcptzEqBmqfjcHAqM89DnBx+wuj0JebpTwU X3Uj009koPji56yj4d2M4Zs/ooaGe1+aYhIq+nGMyc3E8cLj04NIpt043b2xNpbqM2Ojpg9+ fux2QnkJ9nZh9oz3H6fONCg8rw3FQAEPetbwlbrOtP5ZOlPheFVRS/7pbv5pPO/JVnONHDXT FDUfmXxmGmhCxZQb78+v85kSsziFf/7YQuYyzD3RmKDEPM8+f2SuVfGhvGefDaa2TWDtjvKH Unx9VrwAnMardl8BgDVGo7UIL9+Jx9K0fjakbXKCzx2zCSVrlQKs5h6hCYzEELCWuwIDlGRu 6RBGVmJ1JIVCsB6syj9/TLovSAcwXtHRfUx4B0AKMJYKrkWMG4Igo4hcA0CWMR6Y1QBdXpTK B4vQ50XVeFHKCmC+B5H36aoyALNnZ6Hx4fzhnwtr41lM2woBGnO1YpAGjI6fDylRP3dQqVUV 9RIQqF5CcHrhWPS9gWC9DxZglMr7/K2fO2fMsB23rFBQUUAhMOm3AFiLxtzZmp9ZCgdLY39T GRZthgTG0q/H18rQnU2VtTmZP3dqK2J+piMCaYUA2bS53z9zTjm4hwOw4igBZG+tD4Cap4BU AKAxtDUAppaC1VwBzFS0uMoliy4kAKytJYhFEGCiGT6IVBhRY5EYpBVXACtsIkWALFJObgWw 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 hOsYeCc9ZHrhqiWrXB9jmvv0gP7kyiXavrQXnJZ+siT60RUVj65aVsWVUycmu+FzPL1uqdJ7 XnRvrz+5bokl64uLR6kskc++eP3F7G//dvbF/F+8dH7ONTejmm/e7muMF754uc0Upmf2xLqv FxV41hX9aQydYV1gwQ5X2mJp5dF4FmKGT/86KqcuLly3/qYltfX4s5UdPVeDEveyU1xMzq9b 7qmPRNgWO5xetVQrAo1lk3KnFzDbLd2Tmmv8fd26owLaOrt2SbXQycYpPaA/uW6JRffd4sFV S3JC9auE9vC6pfUhVdsC+7Mrl5kCz3YlpuOrlue57ybYdHTdsrpX56/83vq9mq60/uzKZfq+ uCv3Nq9kL122h9ctrQp13IfqCuzPrltmLWWe8a7fDWfXLbPdx+uK7E6uWmKwuZ3MpePpdUtN LvVtienwqqVFz+30x/HgqiUdynwqEY2n1y1VdXUZD65dUj8RtYdXLe2o8kJ2SrLu+MrlxU31 vrx0fN3yLM0JXXHp8OqaMnZcr0ZtWTpLZX54D7ndP/6liIe5FVGwjs//+o//9NUv+PH+F7GU 8e+TRUUSbnPlLj+iC/832LpVwMzHjcnZsLk7sV+YbLrOum3v+bidPIubkfNhl3A4HTfx2kuT Xbb2wrAR1p1O9qu6K3pyMuz7dKeTfZn2ynTfpLuSX571uw/9eZie9TrL7nRQ6XfnDxVV08uD 1r272GnGuzMnLs4uCh1VwN2FXkvbnXbazfZsqn3srgz6wfZ8UOG1pw9VXO3VqQqqvzL9qrHB TE4v9SzdtYkepLvSqyq603eW//Hqg9Vwd/Firdpee7iO7K52a7N0Ml3IdFe6xUZ7Ni4HuvNR du4vTMT39tIg8Xan07+/kBr7S9PiR9mrO5+KRt2lqeTSXZpIFu2Vy3m/uzbMzO15P3u2Z5dz W3dN1ZdnF190MoT3F4YxtrswjIJxgPly9j/TwBWdOkJVx2GnOswuLvUnr/4fwFQxT8XlCAA= --WsABMBfN7q784ms8-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 17:23:02 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 21:23:02 +0000 Received: from localhost ([127.0.0.1]:41934 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTtA6-0007Be-8c for submit@debbugs.gnu.org; Tue, 06 Apr 2021 17:23:02 -0400 Received: from mx.sdf.org ([205.166.94.24]:49592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTtA4-0007B1-8z for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 17:23:00 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 136LMv1x010805 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Tue, 6 Apr 2021 21:22:58 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83mtufe9ke.fsf@gnu.org> Date: Tue, 06 Apr 2021 21:22:57 +0000 In-Reply-To: (Alan Third's message of "Tue, 6 Apr 2021 22:11:52 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Tue, Apr 06, 2021 at 07:26:16PM +0000, Andrea Corallo wrote: >> >> Okay the log looks good AFAICT. >> >> We are suggesting the eln to go in: >> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/ >> >> and the eln in: >> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/ > > OK, I think I see what's going on. The binary is installed in > Emacs.app/Contents/MacOS, but the bindir is > Emacs.app/Contents/MacOS/bin, so we're going one level too far up when > generating the eln path. > > "../../Resources/native-lisp/28.0.50-0f05d3d3/preloaded/misc-lang-7cb33d20-db3eb4ae.eln" > >> If this does not help I suggest we apply the attached and re-bootstrap >> to see if the 'rel-filename-from-install-bin' we are constructing is >> correct. > > I've attached the new bootstrap log in case I'm wrong and you can see > something else. I think your analysis is correct. ATM we form BIN_DESTDIR as '$(DESTDIR)${bindir}/' (Makefile.in:419), maybe we should use 'ns_appbindir' to form it? Thanks Andrea From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 17:33:49 2021 Received: (at 47558) by debbugs.gnu.org; 6 Apr 2021 21:33:49 +0000 Received: from localhost ([127.0.0.1]:41947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTtKX-0007S8-0Y for submit@debbugs.gnu.org; Tue, 06 Apr 2021 17:33:49 -0400 Received: from outbound.soverin.net ([116.202.65.218]:32833) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTtKV-0007Rw-Jq for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 17:33:48 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id D54D260191; Tue, 6 Apr 2021 21:33:41 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617744821; bh=zISS80TVK5p13esBXwgjShKj8+Ctnazmf7tMxklDyf8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=iVty9QZsErfISm+91aNpoJspZTOyhVYgJCB52G91dQOHTdySLCPHQprloGkWKQ0WN FTaF/OQV5/yjx46zqSmML5CWCKB80UE6ndwIC1rtbkARYGapZnsEKUTS3ORURLJrYv DzT7sAEmb3eJNrr3hoUg2+fKZ+DXpt3hPWQj9d8uJRPsgEBmCEnbA7wtZ9fqAzAQCc HOCbcgGvBDBIjP+XXlwO+O4z43gAVecAd4sKiXy7S/+0HzmqD9hrIEUuB02T6Pp8zu aHbLDq9AppfNlk7V5xTAx61SvMqz1MbrrCASxdz4nSe9ZWc3j0hMcJsg31/CFjTGA5 5kx8BR/fCLMxg== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id A9D53202BA3779; Tue, 6 Apr 2021 22:33:35 +0100 (BST) Date: Tue, 6 Apr 2021 22:33:35 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Apr 06, 2021 at 09:22:57PM +0000, Andrea Corallo wrote: > Alan Third writes: > > > On Tue, Apr 06, 2021 at 07:26:16PM +0000, Andrea Corallo wrote: > >> > >> Okay the log looks good AFAICT. > >> > >> We are suggesting the eln to go in: > >> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/ > >> > >> and the eln in: > >> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/ > > > > OK, I think I see what's going on. The binary is installed in > > Emacs.app/Contents/MacOS, but the bindir is > > Emacs.app/Contents/MacOS/bin, so we're going one level too far up when > > generating the eln path. > > > > "../../Resources/native-lisp/28.0.50-0f05d3d3/preloaded/misc-lang-7cb33d20-db3eb4ae.eln" > > > >> If this does not help I suggest we apply the attached and re-bootstrap > >> to see if the 'rel-filename-from-install-bin' we are constructing is > >> correct. > > > > I've attached the new bootstrap log in case I'm wrong and you can see > > something else. > > I think your analysis is correct. > > ATM we form BIN_DESTDIR as '$(DESTDIR)${bindir}/' (Makefile.in:419), > maybe we should use 'ns_appbindir' to form it? Yup, that seems to have solved it. I'm doing this: modified Makefile.in @@ -420,8 +420,13 @@ lib lib-src lisp nt: dirstate = .git/logs/HEAD VCSWITNESS = $(if $(wildcard $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate)) src: Makefile +ifeq (${ns_self_contained},no) $(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' BIN_DESTDIR='$(DESTDIR)${bindir}/' \ ELN_DESTDIR='$(ELN_DESTDIR)' all +else + $(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' BIN_DESTDIR='${ns_appbindir}/' \ + ELN_DESTDIR='$(ELN_DESTDIR)' all +endif blessmail: Makefile src $(MAKE) -C lib-src maybe-blessmail which works, but I don't know much about makefiles so there may be a neater way to do it. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 06 22:17:35 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 02:17:35 +0000 Received: from localhost ([127.0.0.1]:42666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTxl9-00008r-10 for submit@debbugs.gnu.org; Tue, 06 Apr 2021 22:17:35 -0400 Received: from mail-io1-f46.google.com ([209.85.166.46]:43887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTxcl-0008N5-Cm for 47558@debbugs.gnu.org; Tue, 06 Apr 2021 22:08:55 -0400 Received: by mail-io1-f46.google.com with SMTP id z136so9012430iof.10 for <47558@debbugs.gnu.org>; Tue, 06 Apr 2021 19:08:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=qv/iDY+0a1+sRx015GCKng7sExbfkLLrPE6RumScZQs=; b=tFbgDxKSnsPUH4JDJftxCLe200EMU478xxGzlK28XQhIrlgk6F5Fd8jfl8jwXkKclE YwkLjvDt4SZ+7Q6Pm1k6j5racU0uveTddLuxl2NeFhwIRwICfPVN8zoj0B/dPJ9jgjlu nKC1vPfhuuaXAxWdZcdPw5R4S1sp/SWgfwnrZNH/dffI7epkC686cUNAS++ZHdQvoyPd RZleKowf16pUyBUWETM0kjz/is0wdOFi2BllLdQQZ+Hv+5r9beWx7OaF99r3a1NwqpLj Ung8X4/akMMxLL1Lq/uuZXIbob8ky0tpWQhVLVwkh/LcLuh5T1kScAAQgarVgyg97pv7 5uvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=qv/iDY+0a1+sRx015GCKng7sExbfkLLrPE6RumScZQs=; b=tqBxRc7U7PVzM+7AyQssiRSwzAES3tZKgqfQTSZ9Aox+fenSwkbQKgoqSgkWIw9Qpk QzhMrF3z8t4Iw6lF4de43Q1AgshOtGrksDQ465DsFGlVl5R8SoYM0hIIKBpbmKkH4c4Y Vm/ZRBJYEdiYtVYYFK2Jts4StkWH8BwKN/uAkcFIEsJ1wlJUF8WWNU6xbYWTuGWiv15b 9vQ1LOUqAUeKFdH91vdAmezN05NDonloX7N/xaYCNlA6CqazSEugt3mfo3Uqh6Ia1QhN g5y3o9ICwjJqlgBhy9jfVvdX6OrPad1OL5lUWkCTgvQHdFMjiRpc6Vkv65bfqU5Z3GxY xOcg== X-Gm-Message-State: AOAM533JWgiJlvQeKdHtMAm0I/fJ9mUlYhhnODZQ25UZscxaMvwFMxmx Rke5RYVnOCS4QTL1Yter6w== X-Google-Smtp-Source: ABdhPJxovW9pHni2OcbL1kgPNsjmVzJL1XbQ6jywqBTAgKBlv4ExoNMtQX+7Doh0hwZiG1MxBIjLLw== X-Received: by 2002:a6b:da0f:: with SMTP id x15mr641278iob.181.1617761329593; Tue, 06 Apr 2021 19:08:49 -0700 (PDT) Received: from smtpclient.apple (1623701-static.rochmnaa.metronetinc.net. [199.48.95.30]) by smtp.gmail.com with ESMTPSA id d1sm13643990ils.49.2021.04.06.19.08.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Apr 2021 19:08:48 -0700 (PDT) From: Bryan O'Brien Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_7DB46FC8-567D-44FE-B035-FCBB64A188B2"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\)) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Date: Tue, 6 Apr 2021 21:08:46 -0500 In-Reply-To: To: Alan Third References: X-Mailer: Apple Mail (2.3654.80.0.2.43) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 47558 X-Mailman-Approved-At: Tue, 06 Apr 2021 22:17:33 -0400 Cc: Eli Zaretskii , 47558@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Apple-Mail=_7DB46FC8-567D-44FE-B035-FCBB64A188B2 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I=E2=80=99m not familiar with the protocols here, so I apologize if this = is just noise. Modifying my Makefile.in (as Alan provided) bypasses the dlopen error = originally reported. Thank you all. > On Apr 6, 2021, at 16:33, Alan Third wrote: >=20 > On Tue, Apr 06, 2021 at 09:22:57PM +0000, Andrea Corallo wrote: >> Alan Third writes: >>=20 >>> On Tue, Apr 06, 2021 at 07:26:16PM +0000, Andrea Corallo wrote: >>>>=20 >>>> Okay the log looks good AFAICT. >>>>=20 >>>> We are suggesting the eln to go in: >>>> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/ >>>>=20 >>>> and the eln in: >>>> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/ >>>=20 >>> OK, I think I see what's going on. The binary is installed in >>> Emacs.app/Contents/MacOS, but the bindir is >>> Emacs.app/Contents/MacOS/bin, so we're going one level too far up = when >>> generating the eln path. >>>=20 >>> = "../../Resources/native-lisp/28.0.50-0f05d3d3/preloaded/misc-lang-7cb33d20= -db3eb4ae.eln" >>>=20 >>>> If this does not help I suggest we apply the attached and = re-bootstrap >>>> to see if the 'rel-filename-from-install-bin' we are constructing = is >>>> correct. >>>=20 >>> I've attached the new bootstrap log in case I'm wrong and you can = see >>> something else. >>=20 >> I think your analysis is correct. >>=20 >> ATM we form BIN_DESTDIR as '$(DESTDIR)${bindir}/' (Makefile.in:419), >> maybe we should use 'ns_appbindir' to form it? >=20 > Yup, that seems to have solved it. I'm doing this: >=20 > modified Makefile.in > @@ -420,8 +420,13 @@ lib lib-src lisp nt: > dirstate =3D .git/logs/HEAD > VCSWITNESS =3D $(if $(wildcard = $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate)) > src: Makefile > +ifeq (${ns_self_contained},no) > $(MAKE) -C $@ VCSWITNESS=3D'$(VCSWITNESS)' = BIN_DESTDIR=3D'$(DESTDIR)${bindir}/' \ > ELN_DESTDIR=3D'$(ELN_DESTDIR)' all > +else > + $(MAKE) -C $@ VCSWITNESS=3D'$(VCSWITNESS)' = BIN_DESTDIR=3D'${ns_appbindir}/' \ > + ELN_DESTDIR=3D'$(ELN_DESTDIR)' all > +endif >=20 > blessmail: Makefile src > $(MAKE) -C lib-src maybe-blessmail >=20 >=20 > which works, but I don't know much about makefiles so there may be a > neater way to do it. >=20 > -- > Alan Third --Apple-Mail=_7DB46FC8-567D-44FE-B035-FCBB64A188B2 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEELkodRmJpyBQb0X8PsviyDlPaAAoFAmBtFC4ACgkQsviyDlPa AAr0KRAAhYP0dguN3Zio5gCJg7nXw8nB54Dg6+dIDPpMbjVoKS4T0B8JxtVPjVfE af7xy1U7BQhOtoyPQs7j+M1spEjlSQqbFr5HPzH4Mwc1UhyvQjThI40Xtf1Dotl/ RufaqRv+8KQZx3BkbGaWclTN7ZcIsro3LjTC8Jiu64+o+UktQ6DNvMDq0b47mhlF c1HujiKgQwHkmLnhI+dxBUoNO4fNvNTEyZ6yu6pBT+TvOUjTYNFDmulNRN/aHtcz /qzpNtHxkyi9nmcf8G6qRkWrUeGNyq0OvddSFHJq4KeAgYNAtbVbA15zzSHbv2WU vq2wKgrpmRQu1mgeQ8WOGz+HVtB1X/3S61bOJivj36hdZZoL/EyYoqN7vqGyABm/ ckGBoCqGqmU8f5kyusjP5qRPdfPM/PJ+HNnJE1mPf11T2yH7MIBxR5XEjpI62K4m tWoNZECcN315sfLdHSXDf1ANa/41yjYwf5YgCKF5fVEnruMgedc7J8x7emIOWXHo mK9imGj5sy+lmStJ6+kY53tyRc85zg/77TWyTg89O21N2Z4PtB0Fxjz5E2iXs3JB yRU/N8dPrVpG1sMyWD/Kd0g6CLl8NPAe9VV6kEXljuubaV5SNNGITf6/Sefu/Ehm TSm1dghGEbcvOW1GE7NFF3Bqz9RGzdgkrN8CuErNxjlxYcsNTEo= =hGKL -----END PGP SIGNATURE----- --Apple-Mail=_7DB46FC8-567D-44FE-B035-FCBB64A188B2-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 03:53:53 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 07:53:53 +0000 Received: from localhost ([127.0.0.1]:42981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU30b-00007I-Ab for submit@debbugs.gnu.org; Wed, 07 Apr 2021 03:53:53 -0400 Received: from mx.sdf.org ([205.166.94.24]:56185) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU30a-000079-2m for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 03:53:52 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 1377roXH025707 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 7 Apr 2021 07:53:50 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: Date: Wed, 07 Apr 2021 07:53:50 +0000 In-Reply-To: (Alan Third's message of "Tue, 6 Apr 2021 22:33:35 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Tue, Apr 06, 2021 at 09:22:57PM +0000, Andrea Corallo wrote: >> Alan Third writes: >> >> > On Tue, Apr 06, 2021 at 07:26:16PM +0000, Andrea Corallo wrote: >> >> >> >> Okay the log looks good AFAICT. >> >> >> >> We are suggesting the eln to go in: >> >> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/ >> >> >> >> and the eln in: >> >> /Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/ >> > >> > OK, I think I see what's going on. The binary is installed in >> > Emacs.app/Contents/MacOS, but the bindir is >> > Emacs.app/Contents/MacOS/bin, so we're going one level too far up when >> > generating the eln path. >> > >> > "../../Resources/native-lisp/28.0.50-0f05d3d3/preloaded/misc-lang-7cb33d20-db3eb4ae.eln" >> > >> >> If this does not help I suggest we apply the attached and re-bootstrap >> >> to see if the 'rel-filename-from-install-bin' we are constructing is >> >> correct. >> > >> > I've attached the new bootstrap log in case I'm wrong and you can see >> > something else. >> >> I think your analysis is correct. >> >> ATM we form BIN_DESTDIR as '$(DESTDIR)${bindir}/' (Makefile.in:419), >> maybe we should use 'ns_appbindir' to form it? > > Yup, that seems to have solved it. I'm doing this: Cool! > modified Makefile.in > @@ -420,8 +420,13 @@ lib lib-src lisp nt: > dirstate = .git/logs/HEAD > VCSWITNESS = $(if $(wildcard $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate)) > src: Makefile > +ifeq (${ns_self_contained},no) > $(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' BIN_DESTDIR='$(DESTDIR)${bindir}/' \ > ELN_DESTDIR='$(ELN_DESTDIR)' all > +else > + $(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' BIN_DESTDIR='${ns_appbindir}/' \ > + ELN_DESTDIR='$(ELN_DESTDIR)' all > +endif > > blessmail: Makefile src > $(MAKE) -C lib-src maybe-blessmail > > > which works, but I don't know much about makefiles so there may be a > neater way to do it. I think we could prepare BIN_DESTDIR near ELN_DESTDIR so we don't have to duplicate the sub-make invocation in this target. I pushed ce15b23846 that does that. Please feel free to install a patch with all the other necessary changes to have it working on MacOS. Thanks! Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 04:19:02 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 08:19:03 +0000 Received: from localhost ([127.0.0.1]:43015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU3Ow-0000oB-Ov for submit@debbugs.gnu.org; Wed, 07 Apr 2021 04:19:02 -0400 Received: from outbound.soverin.net ([116.202.65.218]:44337) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU3Ov-0000nh-Gt for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 04:19:01 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id C5A5460191; Wed, 7 Apr 2021 08:18:55 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617783534; bh=P20uGzmd5zPovZ6ctveQwd0ak6UwsFvmpOCg+iCY8A4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=UnVFmHdfPiNgVebrlKOr1wDq3/Uajz1FENwhS7mM39Nf20NTKWIEtGCDmFPyf7G8L 17/kd2PU4EzTrM55R9qRSGXV+r4wIa/y4o9ywfbC387ZXOYidC52rOvwq2gWmbiGer pcYPxeZfbIovo0Vub8N7/wbcaIQPCaayuy1SidBtcpIbtFcWVaJedCt+lAZ+Dm76yM ihzsLzbP3tOhJpU+U/D6AN/jeJmv8/tLAem64T3Q1vARvbKiN6ZqgGfixQ1pXBQrur 8WhUbOowUJ/EziwC2GKS7+frfTKNTK4RDnbv7t8gMc0U8Wv7j6kMWLEh9ffmMOE1ah tUONHfCcK8u7Q== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 793EF202BA9608; Wed, 7 Apr 2021 09:18:50 +0100 (BST) Date: Wed, 7 Apr 2021 09:18:50 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Apr 07, 2021 at 07:53:50AM +0000, Andrea Corallo wrote: > > I think we could prepare BIN_DESTDIR near ELN_DESTDIR so we don't have > to duplicate the sub-make invocation in this target. I pushed > ce15b23846 that does that. Thanks! > Please feel free to install a patch with all the other necessary changes > to have it working on MacOS. Done. Bryan, can you give it a go again, please? -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 05:08:44 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 09:08:44 +0000 Received: from localhost ([127.0.0.1]:43087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU4B1-000290-S1 for submit@debbugs.gnu.org; Wed, 07 Apr 2021 05:08:44 -0400 Received: from mx.sdf.org ([205.166.94.24]:51244) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU4Aw-00028l-59 for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 05:08:42 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 13798arB023587 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 7 Apr 2021 09:08:36 GMT From: Andrea Corallo To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: Date: Wed, 07 Apr 2021 09:08:36 +0000 In-Reply-To: (Alan Third's message of "Wed, 7 Apr 2021 09:18:50 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alan Third writes: > On Wed, Apr 07, 2021 at 07:53:50AM +0000, Andrea Corallo wrote: >> >> I think we could prepare BIN_DESTDIR near ELN_DESTDIR so we don't have >> to duplicate the sub-make invocation in this target. I pushed >> ce15b23846 that does that. > > Thanks! > >> Please feel free to install a patch with all the other necessary changes >> to have it working on MacOS. > > Done. Wonderful thanks. A curiosity looking at c35a515a2f: + LDFLAGS="$LDFLAGS -L${BREW_LIBGCCJIT_PREFIX}/lib/gcc/10 -I${BREW_LIBGCCJIT_PREFIX}/include" ^^^ Does this mean will have to touch configure.ac when brew will provide gcc11? Thanks Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 05:58:31 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 09:58:31 +0000 Received: from localhost ([127.0.0.1]:43155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU4x9-0003Vg-Ci for submit@debbugs.gnu.org; Wed, 07 Apr 2021 05:58:31 -0400 Received: from outbound.soverin.net ([116.202.65.218]:57975) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU4x4-0003VL-AZ for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 05:58:26 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 8449460191; Wed, 7 Apr 2021 09:58:16 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617789495; bh=tfjN+7bB5T9CAIFwCW5cHgVq1v81eYeJfyNfkkNxav0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XAB0hvDP+ARVYa0GEjtnEaZfmkGxZj9O1vpmUj3BP+yaQyQ8JLxXQpg1jxkSFNjtR BfBQOEzAGHJpzireQygY+8jH5U1+6yFweYRcNJQ1IVFQNPI3p4IzO4Oq6avqivi0gP rQLUUZ7bx6rMm6A09k7vcY9rWY6xuxvNHAbm5GdB7o9QBkDkBLKwxbDdYUTycPtnHm hSyqsWzOmN7xV6jaDFxE8z/KD5jBuB+rdHQ4eLA6vhczFrByX2iJujk6/7F2I0I8qc fBx3HgwL95KQyMmSRxclw5QOAlTSVDHYTOq9L+TMGliZXUOJ+75mgeyLOVK05171KR hHfZ1YgNBqntA== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 573CE202BABEDC; Wed, 7 Apr 2021 10:58:10 +0100 (BST) Date: Wed, 7 Apr 2021 10:58:09 +0100 From: Alan Third To: Andrea Corallo Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Apr 07, 2021 at 09:08:36AM +0000, Andrea Corallo wrote: > A curiosity looking at c35a515a2f: > > + LDFLAGS="$LDFLAGS -L${BREW_LIBGCCJIT_PREFIX}/lib/gcc/10 -I${BREW_LIBGCCJIT_PREFIX}/include" > ^^^ > > Does this mean will have to touch configure.ac when brew will provide gcc11? I think so. I can't see any way to get this path information out of the brew command. Perhaps we need to do some find magic to get the actual directory...? This appears to work, but I don't see anything else like it in configure.ac, so it's maybe not a good idea: brew_libdir=`dirname ${BREW_LIBGCCJIT_PREFIX}/lib/gcc/*/libgccjit.so` LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" The alternative is just to leave people to set up these flags themselves, but I'd rather not if we can avoid it. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 06:32:08 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 10:32:08 +0000 Received: from localhost ([127.0.0.1]:43176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU5Th-0004Z4-JA for submit@debbugs.gnu.org; Wed, 07 Apr 2021 06:32:08 -0400 Received: from mail-out.m-online.net ([212.18.0.10]:57087) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU5Tb-0004YZ-Pb for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 06:32:04 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4FFggK0XCZz1s5D1; Wed, 7 Apr 2021 12:31:56 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4FFggJ4vP7z1r1Mr; Wed, 7 Apr 2021 12:31:56 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id IjUIcKPJPyF5; Wed, 7 Apr 2021 12:31:53 +0200 (CEST) X-Auth-Info: BRoBXCM9fpEevxf4W2AkmPvtKweM2WSi0OWFEdC/JJUnSUWSKEyW7Fw9w4wEOt/g Received: from igel.home (ppp-46-244-190-7.dynamic.mnet-online.de [46.244.190.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Wed, 7 Apr 2021 12:31:53 +0200 (CEST) Received: by igel.home (Postfix, from userid 1000) id 84AEA2C312F; Wed, 7 Apr 2021 12:31:52 +0200 (CEST) From: Andreas Schwab To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: X-Yow: It's the land of DONNY AND MARIE as promised in TV GUIDE! Date: Wed, 07 Apr 2021 12:31:52 +0200 In-Reply-To: (Alan Third's message of "Wed, 7 Apr 2021 10:58:09 +0100") Message-ID: <87blaqfkrr.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) On Apr 07 2021, Alan Third wrote: > On Wed, Apr 07, 2021 at 09:08:36AM +0000, Andrea Corallo wrote: >> A curiosity looking at c35a515a2f: >> >> + LDFLAGS="$LDFLAGS -L${BREW_LIBGCCJIT_PREFIX}/lib/gcc/10 -I${BREW_LIBGCCJIT_PREFIX}/include" >> ^^^ >> >> Does this mean will have to touch configure.ac when brew will provide gcc11? > > I think so. I can't see any way to get this path information out of > the brew command. Perhaps we need to do some find magic to get the > actual directory...? gcc -print-file-name=libgccjit.so Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 06:35:16 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 10:35:16 +0000 Received: from localhost ([127.0.0.1]:43191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU5Wl-0004e8-Uf for submit@debbugs.gnu.org; Wed, 07 Apr 2021 06:35:16 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:47085) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU5Wj-0004dz-6P for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 06:35:14 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4FFgl419Pdz1qt3g; Wed, 7 Apr 2021 12:35:12 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4FFgl40YN6z1r1Mr; Wed, 7 Apr 2021 12:35:12 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id MAKd4-2oidVe; Wed, 7 Apr 2021 12:35:11 +0200 (CEST) X-Auth-Info: MtsoMdHCLzqoqnZc9lpdprJsEeLNJLsxM7cTkiGa+myQuNzNp32jC21QUmekxWVc Received: from igel.home (ppp-46-244-190-7.dynamic.mnet-online.de [46.244.190.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Wed, 7 Apr 2021 12:35:11 +0200 (CEST) Received: by igel.home (Postfix, from userid 1000) id DDCEB2C312F; Wed, 7 Apr 2021 12:35:10 +0200 (CEST) From: Andreas Schwab To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: X-Yow: Yow! Am I JOGGING yet?? Date: Wed, 07 Apr 2021 12:35:10 +0200 In-Reply-To: (Alan Third's message of "Wed, 7 Apr 2021 10:58:09 +0100") Message-ID: <877dlefkm9.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) On Apr 07 2021, Alan Third wrote: > This appears to work, but I don't see anything else like it in > configure.ac, so it's maybe not a good idea: > > brew_libdir=`dirname ${BREW_LIBGCCJIT_PREFIX}/lib/gcc/*/libgccjit.so` > LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" > > The alternative is just to leave people to set up these flags > themselves, but I'd rather not if we can avoid it. Why do you need that in the first place? The compiler should be looking there by default. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 06:48:38 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 10:48:38 +0000 Received: from localhost ([127.0.0.1]:43201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU5ji-0004wn-F7 for submit@debbugs.gnu.org; Wed, 07 Apr 2021 06:48:38 -0400 Received: from outbound.soverin.net ([116.202.65.218]:34093) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU5jg-0004wZ-Ts for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 06:48:37 -0400 Received: from smtp.soverin.net (unknown [10.10.3.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 38DC16028A; Wed, 7 Apr 2021 10:48:29 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.138]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617792508; bh=msvQkqTAgdE4DInQ9DmoqCv8cLMSxcKiG3Ph6NNPiHI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=c+n7P4ZTqsDZiaUQj3FWCuFccLslZgNRVz/VMWOiLhiJA87S5s2T+XbEXCw7AnuMe aeO6msHBX3wCn4Xu4oZGcAp7tUqTPNf+mxS+HF0Onr5vXZjfd6zajRYz6MKyaPv4Kl 6W5+A9k8VYD5USa/rEZW1Qs0V5BQrA4TdIdV2Domr4ss1ZcQ1FLloqQrzf3paXZe+P wcL/XOvHCLoa9Niw4KJZonTi1YhAhulvgp6LC08GiHtKiEJrYYBeCKZATtse/LhM5V Ar0wmfea/+yR7TD0UBw8eSFqvsRcyBiEjLFK+IznGsisPsF1/cmdAFLVwm/n3mc+BA ipCMolkdz7JqA== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id C4E6D202BAD23C; Wed, 7 Apr 2021 11:48:23 +0100 (BST) Date: Wed, 7 Apr 2021 11:48:23 +0100 From: Alan Third To: Andreas Schwab Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Andreas Schwab , Andrea Corallo , Eli Zaretskii , bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <877dlefkm9.fsf@igel.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <877dlefkm9.fsf@igel.home> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, Eli Zaretskii , 47558@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Apr 07, 2021 at 12:35:10PM +0200, Andreas Schwab wrote: > On Apr 07 2021, Alan Third wrote: > > > This appears to work, but I don't see anything else like it in > > configure.ac, so it's maybe not a good idea: > > > > brew_libdir=`dirname ${BREW_LIBGCCJIT_PREFIX}/lib/gcc/*/libgccjit.so` > > LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" > > > > The alternative is just to leave people to set up these flags > > themselves, but I'd rather not if we can avoid it. > > Why do you need that in the first place? The compiler should be looking > there by default. It may be because we have to build with clang, or it may be because of how homebrew installs things. Or both. I'm not sure. breton:/Users/alan>gcc -print-file-name=libgccjit.so libgccjit.so which isn't helpful, but again may be because gcc is actually clang. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 07:46:13 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 11:46:13 +0000 Received: from localhost ([127.0.0.1]:43252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU6dR-00009I-3I for submit@debbugs.gnu.org; Wed, 07 Apr 2021 07:46:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50684) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU6dP-000092-17 for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 07:46:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44166) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lU6dI-0002QI-Of; Wed, 07 Apr 2021 07:46:04 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2720 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lU6dE-0005JX-PU; Wed, 07 Apr 2021 07:46:04 -0400 Date: Wed, 07 Apr 2021 14:45:59 +0300 Message-Id: <831rbmb9mw.fsf@gnu.org> From: Eli Zaretskii To: Alan Third In-Reply-To: (message from Alan Third on Wed, 7 Apr 2021 10:58:09 +0100) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Wed, 7 Apr 2021 10:58:09 +0100 > From: Alan Third > Cc: Eli Zaretskii , bryan.m.obrien@gmail.com, > 47558@debbugs.gnu.org > > This appears to work, but I don't see anything else like it in > configure.ac, so it's maybe not a good idea: > > brew_libdir=`dirname ${BREW_LIBGCCJIT_PREFIX}/lib/gcc/*/libgccjit.so` > LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" This is indeed non-portable, but using 'find' pipes into a suitable Sed script should be able to do that portably. It is indeed suboptimal to have the compiler version in these file names, so I'd prefer to solve it in a cleaner way. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 07:50:16 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 11:50:16 +0000 Received: from localhost ([127.0.0.1]:43264 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU6hM-0000GY-4W for submit@debbugs.gnu.org; Wed, 07 Apr 2021 07:50:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU6hK-0000GI-3I for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 07:50:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44212) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lU6hC-0004og-Ll; Wed, 07 Apr 2021 07:50:06 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2967 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lU6h8-0005b6-Im; Wed, 07 Apr 2021 07:50:03 -0400 Date: Wed, 07 Apr 2021 14:50:03 +0300 Message-Id: <83zgya9uvo.fsf@gnu.org> From: Eli Zaretskii To: Alan Third In-Reply-To: (message from Alan Third on Wed, 7 Apr 2021 11:48:23 +0100) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <877dlefkm9.fsf@igel.home> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, schwab@linux-m68k.org, 47558@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Wed, 7 Apr 2021 11:48:23 +0100 > From: Alan Third > Cc: Andrea Corallo , Eli Zaretskii , > bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > > > Why do you need that in the first place? The compiler should be looking > > there by default. > > It may be because we have to build with clang, or it may be because of > how homebrew installs things. Or both. I'm not sure. That alone is worth a bug report against clang, I think. > breton:/Users/alan>gcc -print-file-name=libgccjit.so > libgccjit.so > > which isn't helpful, but again may be because gcc is actually clang. The above means the compiler cannot find the file. Does the file's name actually end in .so, or is it some .dynlib or some such? Does clang support the -v switch, whereby it emits details about the directories it searches and libraries it scans? If so, can you run the link command with that switch and show the entire output? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 08:15:19 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 12:15:19 +0000 Received: from localhost ([127.0.0.1]:43284 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU75b-0000qt-Cs for submit@debbugs.gnu.org; Wed, 07 Apr 2021 08:15:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU75Z-0000qe-NM for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 08:15:18 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44753) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lU75S-0002Wr-I9; Wed, 07 Apr 2021 08:15:10 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4548 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lU75Q-0003XU-QM; Wed, 07 Apr 2021 08:15:09 -0400 Date: Wed, 07 Apr 2021 15:15:07 +0300 Message-Id: <83y2du9tpw.fsf@gnu.org> From: Eli Zaretskii To: alan@idiocy.org In-Reply-To: <83zgya9uvo.fsf@gnu.org> (message from Eli Zaretskii on Wed, 07 Apr 2021 14:50:03 +0300) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <877dlefkm9.fsf@igel.home> <83zgya9uvo.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, schwab@linux-m68k.org, 47558@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Wed, 07 Apr 2021 14:50:03 +0300 > From: Eli Zaretskii > Cc: bryan.m.obrien@gmail.com, akrl@sdf.org, schwab@linux-m68k.org, > 47558@debbugs.gnu.org > > Does clang support the -v switch, whereby it emits details about the > directories it searches and libraries it scans? If so, can you run > the link command with that switch and show the entire output? You could also try gcc -print-search-dirs From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 08:32:10 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 12:32:10 +0000 Received: from localhost ([127.0.0.1]:43291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU7Lq-0001Ga-Sr for submit@debbugs.gnu.org; Wed, 07 Apr 2021 08:32:10 -0400 Received: from outbound.soverin.net ([116.202.65.218]:37591) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU7Lo-0001G5-Cm for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 08:32:05 -0400 Received: from smtp.soverin.net (unknown [10.10.3.24]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 6840660191; Wed, 7 Apr 2021 12:31:56 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.138]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617798715; bh=P/oy/aVrlae1Q6c1DG1FZUwZgzyAKha1Gh6Zs6p+VWI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=R6gIg8SrIG1hQgohm9gHQ60U7gerrZU0pcd8PKmWzbyLA4l//qmRskWDheZY5ozUU QitF4m5J4kRd14hhhBuPiTpiGs2vTgeYthKK2Kkdl8iNgyCAJbQydCPhX/jT8ZbHOb XvhvBxV5m6qKvAULn0Vec+g/FzuPM/jUmnQSlLcDATm6zwvwOcn2vm2Ec+75oEw9O3 lPzgOUt9ktUJoRqkzn1S8zuASOTX8pg+HOetNjIsVpH7tt9siu4chAdy2xcg5QKR0s LmHS2OFgXbYN5Lmzj+grq117rpFYs1xM6psvtcb1zZrbk9x4jj7VjMM7+aV+ygiY88 ntvjGQ7NSTMOQ== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id 558DD202BADAC2; Wed, 7 Apr 2021 13:31:52 +0100 (BST) Date: Wed, 7 Apr 2021 13:31:51 +0100 From: Alan Third To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Eli Zaretskii , schwab@linux-m68k.org, akrl@sdf.org, bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <877dlefkm9.fsf@igel.home> <83zgya9uvo.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83zgya9uvo.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, schwab@linux-m68k.org, 47558@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Apr 07, 2021 at 02:50:03PM +0300, Eli Zaretskii wrote: > > Date: Wed, 7 Apr 2021 11:48:23 +0100 > > From: Alan Third > > Cc: Andrea Corallo , Eli Zaretskii , > > bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > > > > > Why do you need that in the first place? The compiler should be looking > > > there by default. > > > > It may be because we have to build with clang, or it may be because of > > how homebrew installs things. Or both. I'm not sure. > > That alone is worth a bug report against clang, I think. I think it's more likely to be Homebrew that's at fault, and I think they view this kind of thing as a feature rather than a bug. I believe the idea is for homebrew to interfere with the system as little as possible. Neither clang, nor (homebrew installed) gcc can find the libraries on their own. gcc: breton:/Users/alan>gcc-10 -v -print-file-name=libgccjit.so Using built-in specs. COLLECT_GCC=gcc-10 COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/10.2.0_4/libexec/gcc/x86_64-apple-darwin18/10.2.0/lto-wrapper libgccjit.so clang: breton:/Users/alan>clang -v -print-file-name=libgccjit.so Apple clang version 11.0.0 (clang-1100.0.33.17) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin libgccjit.so > > breton:/Users/alan>gcc -print-file-name=libgccjit.so > > libgccjit.so > > > > which isn't helpful, but again may be because gcc is actually clang. > > The above means the compiler cannot find the file. Does the file's > name actually end in .so, or is it some .dynlib or some such? Definitely .so: breton:/Users/alan>ls `brew --prefix libgccjit`/lib/gcc/10/ libgccjit.so libgccjit.so.0 libgccjit.so.0.0.1 > Does clang support the -v switch, whereby it emits details about the > directories it searches and libraries it scans? If so, can you run > the link command with that switch and show the entire output? Shown above, but there's also breton:/Users/alan>clang -print-search-dirs programs: =/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin libraries: =/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0 This is relatively common with Homebrew. If you look in configure.ac there are a few places where we have to modify PKG_CONFIG_PATH because homebrew doesn't link in all the libraries it installs. I'm also unsure how portable we need to be with this code since homebrew is macOS specific and to my knowledge this problem only arises with homebrew. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 10:20:38 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 14:20:38 +0000 Received: from localhost ([127.0.0.1]:44983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU92s-0004QE-Fl for submit@debbugs.gnu.org; Wed, 07 Apr 2021 10:20:38 -0400 Received: from outbound.soverin.net ([116.202.65.218]:50503) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU92q-0004Q0-51 for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 10:20:37 -0400 Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 134C260191; Wed, 7 Apr 2021 14:20:30 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1617805229; bh=elZxN+k4fBHCn0vIk2v+NHXhBRNl/RBWKt3ro97zjJo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=oddnpx155CCCHxVRcaZwmmi3lW6U5XgYK854wLSWYYw3FKe6AYptDDJoO5H++hReZ jfUTZiJS6IYyUvvo+1y464tKEQly90UGb48GWRc9FU1UblY9bsspOpNH9B3baM9QhK taoV2DkJF1szmNaJvWkJPRmbGDMcLctPW8Op/0uYX4vRtSTouABMQHLiwtBhfhkdyV vJ8xhtyPw8vDReL1PCuQr/Ygz019BGXcgy4rNW4+tZf/HHoN2EMPQC4Z6TLk74vlMz dIGqnCqw8OIBosNtn4eIv/tuY04QsGvDjgxStdNxcQd+0hszlwkFnWoYKCxnVySEOC OOR8ipDz0vYlA== Received: by breton.holly.idiocy.org (Postfix, from userid 501) id DD17A202BB7703; Wed, 7 Apr 2021 15:20:25 +0100 (BST) Date: Wed, 7 Apr 2021 15:20:25 +0100 From: Alan Third To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos Message-ID: Mail-Followup-To: Alan Third , Eli Zaretskii , akrl@sdf.org, bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org References: <831rbmb9mw.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <831rbmb9mw.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Apr 07, 2021 at 02:45:59PM +0300, Eli Zaretskii wrote: > > Date: Wed, 7 Apr 2021 10:58:09 +0100 > > From: Alan Third > > Cc: Eli Zaretskii , bryan.m.obrien@gmail.com, > > 47558@debbugs.gnu.org > > > > This appears to work, but I don't see anything else like it in > > configure.ac, so it's maybe not a good idea: > > > > brew_libdir=`dirname ${BREW_LIBGCCJIT_PREFIX}/lib/gcc/*/libgccjit.so` > > LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" > > This is indeed non-portable, but using 'find' pipes into a suitable > Sed script should be able to do that portably. Is this better? if test -n "$BREW"; then BREW_LIBGCCJIT_PREFIX=`$BREW --prefix --installed libgccjit 2>/dev/null` if test "$BREW_LIBGCCJIT_PREFIX"; then brew_libdir=`find ${BREW_LIBGCCJIT_PREFIX}/ -name \*.so \ | sed -e '1!d;s|/[[^/]]*\.so$||'` CFLAGS="$CFLAGS -I${BREW_LIBGCCJIT_PREFIX}/include" LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" fi fi -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 10:26:31 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 14:26:31 +0000 Received: from localhost ([127.0.0.1]:44996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU98Z-0004ZN-5s for submit@debbugs.gnu.org; Wed, 07 Apr 2021 10:26:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43706) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lU98X-0004Z9-AI for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 10:26:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47174) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lU98G-00010k-Qq; Wed, 07 Apr 2021 10:26:14 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2862 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lU97s-0002qV-Od; Wed, 07 Apr 2021 10:25:52 -0400 Date: Wed, 07 Apr 2021 17:25:49 +0300 Message-Id: <83sg429no2.fsf@gnu.org> From: Eli Zaretskii To: Alan Third In-Reply-To: (message from Alan Third on Wed, 7 Apr 2021 15:20:25 +0100) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <831rbmb9mw.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org, akrl@sdf.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Wed, 7 Apr 2021 15:20:25 +0100 > From: Alan Third > Cc: akrl@sdf.org, bryan.m.obrien@gmail.com, 47558@debbugs.gnu.org > > > This is indeed non-portable, but using 'find' pipes into a suitable > > Sed script should be able to do that portably. > > Is this better? > > if test -n "$BREW"; then > BREW_LIBGCCJIT_PREFIX=`$BREW --prefix --installed libgccjit 2>/dev/null` > if test "$BREW_LIBGCCJIT_PREFIX"; then > brew_libdir=`find ${BREW_LIBGCCJIT_PREFIX}/ -name \*.so \ > | sed -e '1!d;s|/[[^/]]*\.so$||'` > CFLAGS="$CFLAGS -I${BREW_LIBGCCJIT_PREFIX}/include" > LDFLAGS="$LDFLAGS -L${brew_libdir} -I${BREW_LIBGCCJIT_PREFIX}/include" > fi > fi Yes, I think so. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 12:46:27 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 16:46:27 +0000 Received: from localhost ([127.0.0.1]:45086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUBJy-00087Y-PG for submit@debbugs.gnu.org; Wed, 07 Apr 2021 12:46:27 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36520) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUBJx-00087J-9F for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 12:46:25 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49923) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUBJq-0003vv-Vb; Wed, 07 Apr 2021 12:46:18 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3573 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lUBJq-0001iL-4D; Wed, 07 Apr 2021 12:46:18 -0400 Date: Wed, 07 Apr 2021 19:46:11 +0300 Message-Id: <83lf9u9h64.fsf@gnu.org> From: Eli Zaretskii To: Andrea Corallo In-Reply-To: (message from Andrea Corallo on Tue, 06 Apr 2021 19:26:16 +0000) Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, alan@idiocy.org, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Andrea Corallo > Cc: Eli Zaretskii , bryan.m.obrien@gmail.com, > 47558@debbugs.gnu.org > Date: Tue, 06 Apr 2021 19:26:16 +0000 > > On this subject I just realized that there we used concat in place of > `expand-file-name' and fixed that with 6568198213. I needed to revert that part, because we cannot call expand-file-name so early into startup, at least not on MS-Windows. Was there some real problem you saw that was caused by using concat2 there? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 14:30:25 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 18:30:25 +0000 Received: from localhost ([127.0.0.1]:45181 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUCwZ-0002HD-4P for submit@debbugs.gnu.org; Wed, 07 Apr 2021 14:30:25 -0400 Received: from mail-pg1-f181.google.com ([209.85.215.181]:34355) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUCwV-0002Gw-PZ for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 14:30:21 -0400 Received: by mail-pg1-f181.google.com with SMTP id z16so6315353pga.1 for <47558@debbugs.gnu.org>; Wed, 07 Apr 2021 11:30:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=VZW+wscYUN6vaeEIp84ASyNEOfXVxvWx8sfPodeFS/E=; b=U5rCJ8XYrDyNJC4kKpKdvnsAKIsAs6IV15Kn6i2i2I4rCEmTjVisqS7t/368W1gfJy Pk6eiyRLTVFfAga+Rj3I/t/DupwzE94F38E931UV0a2MQpU7ANgQNZY8T2ymDbHQAa3c BgJWo+uzzuz6YVOWGvl4bSxKyTNRKgwJjEtIszh7JLpJ50pMiMXb9JejE6y8ujERwksq aFR8ZsMHogVCSkNBf8aucPO3eMzvUzG5p62gNcYkp+CA4gMUaVB7/j/k+Vclnjs0VAD+ hD1PM+SFuOZoRqLA5qiEhCA3Gyly8n+lFl7qX+mngQwxnxQ9lUwMaoWP+zEsUaja+Pca j0hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=VZW+wscYUN6vaeEIp84ASyNEOfXVxvWx8sfPodeFS/E=; b=lvNeJR7MM8voPX18+0afk6U6yC1NeoESOuE3UUiEo5dNKvr2Cax/lt4ooc7Lb10MN3 emxrbKKiIQlZcEI41u57xVJZLUoUnhQKs4ED4dMXseRPz7NFwep6RywBdDR712zqh/ym Y3Qry6B00B8KY8VFs7Njd08xdrCXllCEgcFYRRjPpCGY2IPK+NilZg1c64oRhwCZPsxc LYBBg7trOfzOZv3n/DaOUXXzHfRmUJWrVkkU9TctaSERd8GwyF+doCiJ84Y6bdp3snUB Z7j8LJbb/UJGohzF+wulXH2nc6A+PwG+yRJdYGgt94jD4WF/pTTpivAgA9JhoHoqRIIW AMWw== X-Gm-Message-State: AOAM532OA9Zqf0eoabxuewhwqo7vHxaHMxRduCHrbKtskAG8IeQKLlau bjiXnZ75hhcGfErXzf+b3lmpMJ93EUNt X-Google-Smtp-Source: ABdhPJwKocZnbu+Gboh0pPRmfDPcoPo/2Twqi/GzbBgiJNF7clnwfJCRhbGT2taXoFEyyIUlb9I1bA== X-Received: by 2002:a65:5585:: with SMTP id j5mr4520957pgs.316.1617820213233; Wed, 07 Apr 2021 11:30:13 -0700 (PDT) Received: from Cuchulainn.local ([184.170.241.45]) by smtp.gmail.com with ESMTPSA id v18sm22719246pfn.117.2021.04.07.11.30.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Apr 2021 11:30:12 -0700 (PDT) References: <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> <83lf9u9h64.fsf@gnu.org> User-agent: mu4e 1.4.15; emacs 28.0.50 From: Bryan O'Brien To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos In-reply-to: <83lf9u9h64.fsf@gnu.org> Date: Wed, 07 Apr 2021 13:30:08 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: alan@idiocy.org, 47558@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Error is resolved with latest branch. This is the build shell I used: # native-comp optimization export CFLAGS="-I$(brew --prefix libgccjit)/include" export LDFLAGS="-L$(brew --prefix libgccjit)/lib/gcc/10" export CC="clang" cd gccemacs || exit git clean -xfd ./autogen.sh ./configure --with-native-compilation --with-x-widgets make NATIVE_FULL_AOT=1 -j 16 make -j 16 install Eli Zaretskii writes: >> From: Andrea Corallo >> Cc: Eli Zaretskii , bryan.m.obrien@gmail.com, >> 47558@debbugs.gnu.org >> Date: Tue, 06 Apr 2021 19:26:16 +0000 >> >> On this subject I just realized that there we used concat in place of >> `expand-file-name' and fixed that with 6568198213. > > I needed to revert that part, because we cannot call expand-file-name > so early into startup, at least not on MS-Windows. Was there some > real problem you saw that was caused by using concat2 there? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 14:41:14 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 18:41:14 +0000 Received: from localhost ([127.0.0.1]:45189 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUD74-0002Ww-6v for submit@debbugs.gnu.org; Wed, 07 Apr 2021 14:41:14 -0400 Received: from mail-pg1-f175.google.com ([209.85.215.175]:39837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUD71-0002Wi-Gx for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 14:41:12 -0400 Received: by mail-pg1-f175.google.com with SMTP id l76so13715418pga.6 for <47558@debbugs.gnu.org>; Wed, 07 Apr 2021 11:41:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=OQRqnMFlXAXBVg2seNjxwdT1cSqrHxPfSF8xYyb45qY=; b=GtMAVAih9SXVLqwu6BLd1L4lfgNOeoTEHtzBhhFgluqraUe3EdzB/vScHpNCy1bTKv 5EYOisCIfrHH6sfKMdPcEeENfpi+H237IlhX6L7BKCBrCfkgeT1mZS7IvxhA3BRIKheP Pxy9Zotp+3Nah8ZZcg5OwjggIGWaUN40JRq+YUOV37zg1W8l+gqBccWgNXnNlk1xm8mI VJ6UMakMe574PQP7I1LJB0FpiSR1dCf7vf6BZcR/j4nDLrXm+sNGN5f24sNm32LRjGZi IOGciviVPHtY/D9iWIX0iTDi4lsxxvgGKnTcXkGy/d8NMxZ7R6wsn78XbknGo3FTUyg3 fG2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=OQRqnMFlXAXBVg2seNjxwdT1cSqrHxPfSF8xYyb45qY=; b=QXRwx60UVZcQIU+Mrr35VPcDK2vp+noGu+BMlA7zgnqhWiAlrhcYYC3eM2SMiP0FG+ KlFuNHMRu+lJjzkDjIOzmrN4BP1sFn8dFVYTvRBwwc/gEMGNPIsVc4GNHTB6q4CKvvdQ 7FNmz858Z8/WXaANAw9/v5SVp50aaPS3u4boeyG3gSSUAZriOSkhVuK46Fo+AtR9V/lJ BFh3zZ5S76KV1gOvZCdQpPDblj3EMhRrRtnCagZaA+pz99Rc6sxMKQvd8qFjz08llfgI L6yjG7X15QVYQNfAiHdL6O0lM5vuQjKb12OdC1lgc1gKIUExbaFx4VujZlo7bOya0amV w3Ig== X-Gm-Message-State: AOAM530sKCBCG+xmDjEF2K1tqN1uyW3aWckA/Ktua0KT0wpCGzpc1Sgl AJSt/8v9H6Wl1FyfUoqWusnOUid7uBn2 X-Google-Smtp-Source: ABdhPJyWMGgGIkQ1rqrgIUoN8KWCuIx5ehz8OtFwXUjOMGI/cIamJd+aD5+aebrEKwfPg4M38zxyEg== X-Received: by 2002:aa7:9e5b:0:b029:1f1:5ba4:57a2 with SMTP id z27-20020aa79e5b0000b02901f15ba457a2mr3998216pfq.59.1617820865262; Wed, 07 Apr 2021 11:41:05 -0700 (PDT) Received: from Cuchulainn.local ([184.170.241.45]) by smtp.gmail.com with ESMTPSA id 184sm5591429pfx.156.2021.04.07.11.41.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Apr 2021 11:41:04 -0700 (PDT) References: User-agent: mu4e 1.4.15; emacs 28.0.50 From: Bryan O'Brien To: Alan Third Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos In-reply-to: Date: Wed, 07 Apr 2021 13:41:02 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: Eli Zaretskii , 47558@debbugs.gnu.org, Andrea Corallo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I replied incorrectly, sorry about that. Latest build on most recent git branch was successful. Alan Third writes: > On Wed, Apr 07, 2021 at 07:53:50AM +0000, Andrea Corallo wrote: >> >> I think we could prepare BIN_DESTDIR near ELN_DESTDIR so we don't have >> to duplicate the sub-make invocation in this target. I pushed >> ce15b23846 that does that. > > Thanks! > >> Please feel free to install a patch with all the other necessary changes >> to have it working on MacOS. > > Done. > > Bryan, can you give it a go again, please? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 14:44:02 2021 Received: (at 47558) by debbugs.gnu.org; 7 Apr 2021 18:44:03 +0000 Received: from localhost ([127.0.0.1]:45193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUD9m-0002b6-KS for submit@debbugs.gnu.org; Wed, 07 Apr 2021 14:44:02 -0400 Received: from mx.sdf.org ([205.166.94.24]:53580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUD9i-0002aW-Aw for 47558@debbugs.gnu.org; Wed, 07 Apr 2021 14:44:01 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 137IhuE3008698 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 7 Apr 2021 18:43:57 GMT From: Andrea Corallo To: Eli Zaretskii Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: <83y2dzev4b.fsf@gnu.org> <83mtufe9ke.fsf@gnu.org> <83lf9u9h64.fsf@gnu.org> Date: Wed, 07 Apr 2021 18:43:56 +0000 In-Reply-To: <83lf9u9h64.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 07 Apr 2021 19:46:11 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558 Cc: bryan.m.obrien@gmail.com, alan@idiocy.org, 47558@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Andrea Corallo >> Cc: Eli Zaretskii , bryan.m.obrien@gmail.com, >> 47558@debbugs.gnu.org >> Date: Tue, 06 Apr 2021 19:26:16 +0000 >> >> On this subject I just realized that there we used concat in place of >> `expand-file-name' and fixed that with 6568198213. > > I needed to revert that part, because we cannot call expand-file-name > so early into startup, at least not on MS-Windows. Sorry thanks for that. > Was there some real problem you saw that was caused by using concat2 > there? No, I've just spotted the code and once here was working I changed it. I was going to add a comment but I see it's already done, thanks! Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 07 14:45:21 2021 Received: (at 47558-done) by debbugs.gnu.org; 7 Apr 2021 18:45:21 +0000 Received: from localhost ([127.0.0.1]:45197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUDB3-0002dR-0H for submit@debbugs.gnu.org; Wed, 07 Apr 2021 14:45:21 -0400 Received: from mx.sdf.org ([205.166.94.24]:53453) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUDB1-0002dK-Ty for 47558-done@debbugs.gnu.org; Wed, 07 Apr 2021 14:45:20 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 137IjIe0010034 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 7 Apr 2021 18:45:19 GMT From: Andrea Corallo To: "Bryan O'Brien" Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs native-lisp macos References: Date: Wed, 07 Apr 2021 18:45:18 +0000 In-Reply-To: (Bryan O'Brien's message of "Wed, 07 Apr 2021 13:41:02 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 47558-done Cc: Alan Third , 47558-done@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Bryan O'Brien" writes: > I replied incorrectly, sorry about that. > > Latest build on most recent git branch was successful. Very nice! I'm closing then. Thanks all Andrea From unknown Wed Jun 18 23:04:29 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 06 May 2021 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator