homebrew-emacs-plus: Could not install Emacs 28

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

Install emacs 28. Note that this is unrelated to the other issue I submitted.

What happened (include command output)

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

==> Downloading https://ftp.gnu.org/gnu/emacs/emacs-28.1.tar.xz Already downloaded: /Users/johanan/Library/Caches/Homebrew/downloads/81fae34a5dbd8042af6a70512829e9d4a11e31e7067bf4da5c5bded31f757129–emacs-28.1.tar.xz ==> Installing emacs-plus@28 from d12frosted/emacs-plus ==> Patching ==> Applying no-frame-refocus-cocoa.patch patching file src/frame.c Hunk #1 succeeded at 2118 (offset 62 lines). ==> Applying fix-window-role.patch patching file src/nsterm.m Hunk #1 succeeded at 8583 (offset -185 lines). ==> Applying system-appearance.patch patching file src/frame.h patching file src/nsfns.m Hunk #1 succeeded at 1315 (offset 59 lines). patching file src/nsterm.m Hunk #1 succeeded at 1878 (offset -11 lines). Hunk #2 succeeded at 5389 (offset -6 lines). Hunk #3 succeeded at 5635 (offset -6 lines). Hunk #4 succeeded at 5685 (offset -6 lines). Hunk #5 succeeded at 5911 (offset -6 lines). Hunk #6 succeeded at 8916 (offset 14 lines). Hunk #7 succeeded at 10072 (offset 14 lines). ==> Applying fix-MAC_LIBS-inference-on-Intel.patch patching file configure.ac Hunk #1 succeeded at 3843 (offset -282 lines). ==> ImageMagick PKG_CONFIG_PATH: /opt/homebrew/opt/imagemagick/lib/pkgconfig ==> ./autogen.sh ==> ./configure --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp --inf Last 15 lines from /Users/johanan/Library/Logs/Homebrew/emacs-plus@28/02.configure: –with-xml2 –with-gnutls –with-native-compilation –without-dbus –with-imagemagick –with-modules –with-rsvg –without-pop –with-xwidgets –with-ns –disable-ns-self-contained

configure: WARNING: unrecognized options: --disable-dependency-tracking usage: ls [-dlmnpqrstuFQ] [file …] configure: error: working directory cannot be determined tr: ambiguous translation tr: ambiguous translation

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): https://github.com/d12frosted/homebrew-emacs-plus/issues

Output of brew config

$ brew config
HOMEBREW_VERSION: 3.4.11-39-g8a5f664
ORIGIN: https://github.com/Homebrew/brew
HEAD: 8a5f6645b8bde6d38b78936f23ce2acf94ff3a6a
Last commit: 23 minutes ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 089b5e66806ec196e1f760decd0d994da223bdee
Core tap last commit: 33 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_CORE_GIT_REMOTE: https://github.com/Homebrew/homebrew-core
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.MQ5Ez9zd4o/org.xquartz:0
HOMEBREW_EDITOR: /usr/bin/env emacs
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 13.1.6 build 1316
Git: 2.36.1 => /opt/homebrew/bin/git
Curl: 7.79.1 => /usr/bin/curl
macOS: 12.3.1-arm64
CLT: 13.4.0.0.1.1651278267
Xcode: N/A
Rosetta 2: false

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: Some installed kegs have no formulae!
This means they were either deleted or installed manually.
You should find replacements for the following formulae:
  szip

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  postgresql@9.5

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/johanan/.pyenv/shims/python3.10-config
  /Users/johanan/.pyenv/shims/python3.9-config
  /Users/johanan/.pyenv/shims/python-config
  /Users/johanan/.pyenv/shims/python3-config
  /Users/johanan/.pyenv/shims/python3.8-config

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Comments: 22 (21 by maintainers)

Commits related to this issue

Most upvoted comments

Sorry for the delay, some stuff came up and I couldn’t devote any time to this.

Sure, no worries. Plus I understand that it requires uninstalling Emacs and messing around with your environment. That’s why I really advice you to use build script from the repository as it allows you to test installation without uninstalling Emacs 😸 Basically it just creates a formula called emacs-plus-local, which can be built alongside with emacs-plus. It fails during linking obviously, but we are testing how it builds.

Also you can create a script like this:

#!/usr/bin/env bash

export PATH=YOUR_PATH

./build 28 --verbose [OPTIONS]

That will help you with testing in specific PATH setup.

error message is emitted either - do you have any idea? It doesn’t look like what tar (either gnu-tar or macOS tar) emits when you pass it a bad flag:

That’s interesting observation. I have no ideas right now, but might be a good lead. Will take a look later.

I see. Thanks for testing. Not sure why it picks incorrect tar. Will dig into it later.

Oh ok, I just tried on your patch with gnu-tar on my PATH but no coreutils in PATH and it still failed with the previous ls error 😦

==> ./configure --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp --inf
Last 15 lines from /Users/johanan/Library/Logs/Homebrew/emacs-plus@28/02.configure:
--with-xml2
--with-gnutls
--with-native-compilation
--without-dbus
--with-imagemagick
--with-modules
--with-rsvg
--without-pop
--with-xwidgets
--with-ns
--disable-ns-self-contained

configure: WARNING: unrecognized options: --disable-dependency-tracking
usage: ls [-dlmnpqrstuFQ] [file ...]
configure: error: working directory cannot be determined

So I’ve prepared a (possible) fix - #468. I would be grateful if you test it locally after you revert you changes to PATH. Basically, you can do the following (assuming jq is installed):

  1. cd $(brew tap-info --json d12frosted/emacs-plus | jq -r '.[0].path') && git switch fix/stdenv-build
  2. brew install emacs-plus@28 [OPTIONS].

Thank you in advance 😃

next build failure involves Apple gzip, brew installing that seems to resolve it, though, and the build succeeds now! 🎉

==> gmake
==> gmake install
Last 15 lines from /Users/johanan/Library/Logs/Homebrew/emacs-plus@28/04.gmake:
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
usage: gzip [-vcD] [-1-9] [file ...]
gmake: *** [Makefile:605: install-arch-indep] Error 1

Hey,

Looks like this one has the same root cause as #465. In this case it’s related to ls. Since ls is not used by formula directly, I am not sure how to properly fix that, but you should be able to workaround it in the same way you did it with #465. Just install coreutils and prepend them to the PATH.

Meanwhile will think about better solution.