Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not install with --with-native-comp #344

Closed
3 tasks done
wd opened this issue Apr 18, 2021 · 11 comments
Closed
3 tasks done

Could not install with --with-native-comp #344

wd opened this issue Apr 18, 2021 · 11 comments
Assignees

Comments

@wd
Copy link

wd commented Apr 18, 2021

Please make sure to follow these steps (and mark the checkboxes):

  • run brew update and try to reproduce the issue again
  • run brew doctor, fix all issues and try to reproduce your issue again
  • run brew config and brew doctor and include their output

What you were trying to do

wd @ ~ ❯❯❯ emacs
Warning: arch-dependent data dir '/private/tmp/emacs-plusA28-20210418-3790-1xgocx4/lib-src/': No such file or directory
Warning: arch-independent data dir '/private/tmp/emacs-plusA28-20210418-3790-1xgocx4/etc/': No such file or directory
Error: /private/tmp/emacs-plusA28-20210418-3790-1xgocx4/etc/charsets: No such file or directory
Emacs will not function correctly without the character map files.
Please check your installation!

What happened (include command output)

brew install emacs-plus@28 --with-no-frame-refocus --with-elrumo2-icon --with-native-comp
Command output

==> Installing emacs-plus@28 from d12frosted/emacs-plus
==> Downloading https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/no-frame-refocus-cocoa.patch
Already downloaded: /Users/wd/Library/Caches/Homebrew/downloads/64e66c4b31eced7c6b87cafd4d761dc6b9b6eb4752b8c2d6e77f53318ceb3060--no-frame-refocus-cocoa.patch
==> Downloading https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch
Already downloaded: /Users/wd/Library/Caches/Homebrew/downloads/fe10dba71a5a9f8fef6f4534268970b2b0ae0f941e515daed7ae88465083c287--fix-window-role.patch
==> Downloading https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch
Already downloaded: /Users/wd/Library/Caches/Homebrew/downloads/aaa0da80d33eac9e551adf7faf404e565c71e86c02ea4659200474fd6d899f5a--system-appearance.patch
==> Downloading https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/icons/elrumo2.icns
Already downloaded: /Users/wd/Library/Caches/Homebrew/downloads/ba40b5a3c9c5cc66b5d1fdaec99d615d62af4174229960a6d9b00f7f1fe9a8a7--elrumo2.icns
==> Cloning https://github.com/emacs-mirror/emacs.git
Updating /Users/wd/Library/Caches/Homebrew/emacs-plus@28--git
==> Checking out branch feature/native-comp
Already on 'feature/native-comp'
Your branch is up to date with 'origin/feature/native-comp'.
HEAD is now at af0af63742 Fix last change
==> Patching
==> Applying no-frame-refocus-cocoa.patch
patching file src/frame.c
Hunk #1 succeeded at 2061 (offset 5 lines).
==> Applying fix-window-role.patch
patching file src/nsterm.m
Hunk #1 succeeded at 8904 (offset 136 lines).
==> Applying system-appearance.patch
patching file src/frame.h
patching file src/nsfns.m
Hunk #1 succeeded at 1277 (offset 24 lines).
patching file src/nsterm.m
Hunk #1 succeeded at 2197 (offset 3 lines).
Hunk #2 succeeded at 5693 (offset -58 lines).
Hunk #3 succeeded at 5939 (offset -58 lines).
Hunk #4 succeeded at 5989 (offset -58 lines).
Hunk #5 succeeded at 6215 (offset -58 lines).
Hunk #6 succeeded at 9235 (offset 103 lines).
Hunk #7 succeeded at 10321 (offset 307 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@28/28.0.50/share/info/emacs --prefix=/usr/local/Cellar/emacs-plus@28/28.0.50 --with-xml2 --with-gnutls --
==> make
==> make install
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Change dylib_id of ELN files before post_install phase
==> Caveats
Emacs.app was installed to:
/usr/local/opt/emacs-plus@28

To link the application to default Homebrew App location:
ln -s /usr/local/opt/emacs-plus@28/Emacs.app /Applications

To have launchd start d12frosted/emacs-plus/emacs-plus@28 now and restart at login:
brew services start d12frosted/emacs-plus/emacs-plus@28
Or, if you don't want/need a background service you can just run:
emacs
==> Summary
🍺 /usr/local/Cellar/emacs-plus@28/28.0.50: 4,326 files, 171.2MB, built in 12 minutes 50 seconds

Output of brew config

$ brew config
HOMEBREW_VERSION: 3.1.2-40-g520b811
ORIGIN: https://github.com/Homebrew/brew
HEAD: 520b8110e841c97918cb9b351ae645da4537c6c8
Last commit: 22 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 0218118076c3358ec541210cfbf42bba3a2b95de
Core tap last commit: 2 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: vim
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 16
HOMEBREW_NO_AUTO_UPDATE: set
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 16-core 64-bit kabylake
Clang: 12.0 build 1200
Git: 2.24.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.2.3-x86_64
CLT: 12.4.0.0.1.1610135815
Xcode: N/A

Output of brew doctor

$ brew doctor
Your system is ready to brew.
@wd
Copy link
Author

wd commented Apr 18, 2021

Already have tried to run brew reinstall gcc libgccjit.

@d12frosted
Copy link
Owner

d12frosted commented Apr 18, 2021 via email

@d12frosted
Copy link
Owner

Cc @daviderestivo

@seagle0128
Copy link

Same issue here.

@longminwang
Copy link
Contributor

The most recent commit, e54066f3d4, works fine here.

@d12frosted
Copy link
Owner

Cool. If you wish, send me PR with pinned commit, so others can install with native comp easily.

@longminwang
Copy link
Contributor

This (e54066f3d4) is the current commit in branch feature/native-comp, so we do not need to change emacs-plus@28.rb at this moment.

@seagle0128
Copy link

I can confirm the latest commit e54066f3d4 of emacs does work well.

@ackerleytng
Copy link

How do I get brew install the latest commit? --HEAD only works for emacs-plus@27 I think.

@d12frosted
Copy link
Owner

@longminwang indeed, CI is green now. 🎉

@d12frosted
Copy link
Owner

@ackerleytng in order to get the latest version you simply need to uninstall and install again as emacs-plus@28 uses git sources.

$ brew uninstall emacs-plus@28
$ brew install emacs-plus@28 [options]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants