homebrew-emacs-plus: emacs@29 --with-native-comp linkage errors
Error: Failed changing dylib ID of /usr/local/Cellar/emacs-plus@29/29.0.50/lib/emacs/29.0.50/native-lisp/29.0.50-566f90ed/preloaded/isearch-693bdd75-7048e0a2.eln
from isearch-693bdd75-7048e0a2.eln
to /usr/local/opt/emacs-plus@29/lib/emacs/29.0.50/native-lisp/29.0.50-566f90ed/preloaded/isearch-693bdd75-7048e0a2.eln
Error: Failed to fix install linkage
The formula built, but you may encounter issues using it or linking other
Please make sure to follow these steps (and mark the checkboxes):
- run
brew updateand try to reproduce the issue again - run
brew doctor, fix all issues and try to reproduce your issue again - run
brew configandbrew doctorand include their output
What you were trying to do
What happened (include command output)
$ brew install emacs-plus brew install emacs-plus@29 --with-xwidgets --with-imagemagick --with-native-comp --with-elrumo2-icon
Command output
==> Cloning https://github.com/emacs-mirror/emacs.git Updating /Users/chenxianbin/Library/Caches/Homebrew/emacs-plus@29–git ==> Checking out branch master Already on ‘master’ Your branch is up to date with ‘origin/master’. HEAD is now at 47374d4416 duplicate-line: fix optional argument and add test (bug#46621) ==> Installing emacs-plus@29 from d12frosted/emacs-plus ==> Patching ==> Applying fix-window-role.patch patching file src/nsterm.m Hunk #1 succeeded at 9321 (offset 553 lines). ==> Applying system-appearance.patch patching file src/frame.h patching file src/nsfns.m Hunk #1 succeeded at 1376 (offset 120 lines). patching file src/nsterm.m Hunk #1 succeeded at 1933 (offset 44 lines). Hunk #2 succeeded at 5713 (offset 318 lines). Hunk #3 succeeded at 6001 (offset 360 lines). Hunk #4 succeeded at 6051 (offset 360 lines). Hunk #5 succeeded at 6277 (offset 360 lines). Hunk #6 succeeded at 9654 (offset 752 lines). Hunk #7 succeeded at 10988 (offset 930 lines). ==> ImageMagick PKG_CONFIG_PATH: /usr/local/opt/imagemagick/lib/pkgconfig ==> ./autogen.sh ==> ./configure --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs-plus@29/29.0.50/share/info/em ==> gmake ==> gmake install ==> Injecting PATH value to Emacs.app/Contents/Info.plist Patching plist at /usr/local/Cellar/emacs-plus@29/29.0.50/Emacs.app/Contents/Info.plist with following PATH value: /Users/chenxianbin/.jenv/shims /Users/chenxianbin/Library/Python/3.9/bin /usr/local/opt/grep/libexec/gnubin /usr/local/opt/findutils/libexec/gnubin /usr/local/opt/gnu-indent/libexec/gnubin /usr/local/opt/e2fsprogs/sbin /usr/local/opt/e2fsprogs/bin /Users/chenxianbin/.gem/ruby/2.6.0/bin /Users/chenxianbin/.go/bin /Users/chenxianbin/.n/bin /Users/chenxianbin/.jenv/bin /Users/chenxianbin/.doom.d/bin /Users/chenxianbin/.doom-emacs.d/bin /usr/local/sbin /usr/local/bin /Library/TeX/texbin /Library/Apple/usr/bin /Users/chenxianbin/.zinit/plugins/b4b4r07—httpstat /Users/chenxianbin/.zinit/polaris/bin /Applications/kitty.app/Contents/MacOS /usr/bin /bin /usr/sbin /sbin ==> /usr/libexec/PlistBuddy -c ‘Add :LSEnvironment dict’ ‘/usr/local/Cellar/emacs-plus@29/29.0.50/Emacs.app/Contents/Info.plist’ ==> /usr/libexec/PlistBuddy -c ‘Add :LSEnvironment:PATH string’ ‘/usr/local/Cellar/emacs-plus@29/29.0.50/Emacs.app/Contents/Info.plist’ ==> /usr/libexec/PlistBuddy -c 'Set :LSEnvironment:PATH /Users/chenxianbin/.jenv/shims:/Users/chenxianbin/Library/Python/3.9/bin:/usr/l ==> /usr/libexec/PlistBuddy -c ‘Print :LSEnvironment’ ‘/usr/local/Cellar/emacs-plus@29/29.0.50/Emacs.app/Contents/Info.plist’ ==> touch ‘/usr/local/Cellar/emacs-plus@29/29.0.50/Emacs.app’ Error: Failed changing dylib ID of /usr/local/Cellar/emacs-plus@29/29.0.50/lib/emacs/29.0.50/native-lisp/29.0.50-566f90ed/preloaded/isearch-693bdd75-7048e0a2.eln from isearch-693bdd75-7048e0a2.eln to /usr/local/opt/emacs-plus@29/lib/emacs/29.0.50/native-lisp/29.0.50-566f90ed/preloaded/isearch-693bdd75-7048e0a2.eln Error: Failed to fix install linkage The formula built, but you may encounter issues using it or linking other formulae against it. ==> Caveats Emacs.app was installed to: /usr/local/opt/emacs-plus@29
To link the application to default Homebrew App location: ln -s /usr/local/opt/emacs-plus@29/Emacs.app /Applications
Your PATH value was injected into Emacs.app/Contents/Info.plist
Report any issues to http://github.com/d12frosted/homebrew-emacs-plus
To start d12frosted/emacs-plus/emacs-plus@29 now and restart at login: brew services start d12frosted/emacs-plus/emacs-plus@29 Or, if you don’t want/need a background service you can just run: emacs ==> Summary 🍺 /usr/local/Cellar/emacs-plus@29/29.0.50: 4,229 files, 168.3MB, built in 7 minutes 17 seconds ==> Running
brew cleanup emacs-plus@29… Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (seeman brew).
Output of brew config
$ brew config HOMEBREW_VERSION: 3.5.2-121-g150c7d4 ORIGIN: https://github.com/Homebrew/brew HEAD: 150c7d4d4847c3692cd46549edbb67aac83429f1 Last commit: 3 hours ago Core tap ORIGIN: https://github.com/Homebrew/homebrew-core Core tap HEAD: 62deae70c8cc3f62ca5e83e3ba9caf2c44a01024 Core tap last commit: 2 hours ago Core tap branch: master HOMEBREW_PREFIX: /usr/local HOMEBREW_BOTTLE_DOMAIN: https://mirrors.ustc.edu.cn/homebrew-bottles HOMEBREW_CASK_OPTS: [] HOMEBREW_EDITOR: vim HOMEBREW_MAKE_JOBS: 12 HOMEBREW_NO_AUTO_UPDATE: set Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby CPU: dodeca-core 64-bit kabylake Clang: 13.1.6 build 1316 Git: 2.36.1 => /usr/local/bin/git Curl: 7.79.1 => /usr/bin/curl macOS: 12.4-x86_64 CLT: 13.4.0.0.1.1651278267 Xcode: 13.4.1
Output of brew doctor
$ brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry or file an issue; just ignore this. Thanks! Warning: "config" scripts exist outside your system or Homebrew directories. `./configure` scripts often look for *-config scripts to determine if software packages are installed, and which additional flags to use when compiling and linking. Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew-provided script of the same name. We found the following "config" scripts: /Users/chenxianbin/Library/Python/3.9/bin/pre-commit-validate-config Warning: Putting non-prefixed coreutils in your path can cause GMP builds to fail. Warning: Putting non-prefixed findutils in your path can cause python builds to fail. Warning: A '.pydistutils.cfg' file was found in $HOME, which may cause Python builds to fail. See: https://bugs.python.org/issue6138 https://bugs.python.org/issue4655
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 22 (4 by maintainers)
Commits related to this issue
- emacs-29: fix compilation of native-comp feature Fixes #476 Fixes #392 — committed to d12frosted/homebrew-emacs-plus by d12frosted 2 years ago
A workaround to make it work:
ln -sf $(brew --prefix)/opt/emacs-plus@29/lib/emacs/29.0.50/native-lisp $(brew --prefix)/Cellar/emacs-plus@29/29.0.50/Emacs.app/ContentsOh, okay. I misunderstood. I thought it’s still failing to install for you. I’m glad you have Emacs running. Nothing is worse when you can’t get Emacs (the way you wanted) on your machine.
On mine it’s failing with a different error:
adding --debug flag reveals more dylib errors:
expand
@tilgovi thank you for your enthusiasm in digging this issues 💪 I don’t know why it didn’t work in the first place and why it works now. I checked the latest commits in the Emacs master branch and seems like there is nothing related. I am with @agzam on this - I am just happy that it builds and works 😸
there are
--verboseand--debugflags that you can feed tobrew install