Homebrew-core: neovim --HEAD failed to build on 10.14.5

Created on 10 Jun 2019  Â·  12Comments  Â·  Source: Homebrew/homebrew-core

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

  • [x] are reporting a bug others will be able to reproduce and not asking a question or requesting software. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh. To get software added or changed in Homebrew please file a Pull Request
  • [x] have a problem with brew install (or upgrade, reinstall) a single, Homebrew/homebrew-core formula (not cask) on macOS? If it's a general brew problem please file this issue at Homebrew/brew: https://github.com/Homebrew/brew/issues/new/choose. If it's a Linux problem please file this issue at https://github.com/Homebrew/linuxbrew-core/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
  • [x] ran brew update and can still reproduce the problem?
  • [x] ran brew doctor, fixed all issues and can still reproduce the problem?
  • [ ] ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link? -- (command didnt work, but I included a link to a gist with the output of brew install neovim --HEAD --verbose)
  • [x] if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

  • What you were trying to do (and why)

brew install neovim --HEAD

  • What happened (include command output)

With the --verbose flag:

https://gist.github.com/fsouza/cc656e8cdaf3fb909cf14d7023e3d1f3

  • What you expected to happen

Get neovim installed.

  • Step-by-step reproduction instructions (by running brew install commands)

`brew install neovim --HEAD

Debug info

ï¼… brew config
HOMEBREW_VERSION: 2.1.4-73-g1bee0fb
ORIGIN: https://github.com/Homebrew/brew
HEAD: 1bee0fbde0bdc3da0450901483ba128249eb8df9
Last commit: 5 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 5c8b7ec2c39f5801b5c5f1d5c610e599b62c56f2
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DEV_CMD_RUN: 1
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_EMOJI: 1
HOMEBREW_NO_GITHUB_API: 1
CPU: quad-core 64-bit skylake
Homebrew Ruby: 2.3.7 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 10.0 build 1001
Git: 2.22.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 12.0.1, 12, 11.0.3, 1.8.0_202
macOS: 10.14.5-x86_64
CLT: 11.0.0.0.1.1559496560
Xcode: 10.2.1
CLT headers: 11.0.0.0.1.1559496560
ï¼… 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: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  drone

Additional info

I run this daily on both MacOS and Linux (Mac at work, Linux at home - I was out of the office for the last 5 days, so Mac didn't run for a while). On Mac, it worked on Tuesday for the last time. On Linux, I'm pretty sure it worked yesterday (can't check right now). It looks like the issue may have been introduced by https://github.com/neovim/neovim/commit/c83926cd0aa5720e88e84fa3fae3c0e689cca3ef.

outdated

Most helpful comment

@SMillerDev hey thanks for the feedback and apologies for not including more details on the original message, but as shown by the error message, this is a problem with packaging, not the software. neovim has a new build dependency and the Homebrew formula needs to be adjusted accordingly.

I'll dig into this later today and try to send a PR 😬

All 12 comments

This should be reported upstream, homebrew only packages the software.

@SMillerDev hey thanks for the feedback and apologies for not including more details on the original message, but as shown by the error message, this is a problem with packaging, not the software. neovim has a new build dependency and the Homebrew formula needs to be adjusted accordingly.

I'll dig into this later today and try to send a PR 😬

Thanks @fsouza. head functionality is essentially unsupported/user supported. We'll accept PRs but in general, you're on your own if you want to use --head since we can't test on CI.

Formula should only have head added when there is a user who can test and confirm functionality and who has a need for it, or when upstream wants to integrate building via homebrew into nightly or CI builds.

Would it be possible for --head to use neovim's own source install and download its own dependencies (rather than relying to homebrew's packages)?

Suggestion by @nerdrew from this thread.

I suspect there are a lot of people, like me, who came to rely on HEAD working. Or are the criteria still the same: needing someone to be that user who can test/confirm functionality?

That kind of defeats the purpose of the package being managed. As mentioned in the same thread, neither neovim nor brew recommends using HEAD. If you do want to fix it, you can just change the formula for everyone though.

Another thought: it looks like neovim publishes regular compiled releases. Can there be a neovim cask that just installs the nightly release?

I think the problem with --HEAD is going to be a problem with the next release for neovim anyway. I've made changes to the neovim formula, and it is pretty painful. It downloads a bunch of lua rocks and builds them. The versions downloaded aren't necessarily the same versions that neovim uses. Libluv + lua-compat are just two more complications.

I've been trying to fix --HEAD for a little while now by adding luv and lua-compat. I keep running into issues. I think neovim might build luv from source instead of building it as a lua-rock. These kinds of details, and the fact that the formula needs to basically re-create the neovim build scripts is a bit of work. Which leads back to my question(s) above. Can homebrew use the neovim build scripts somehow? Would a neovim cask work in that regard?

FWIW: the cask for nightly looks like it could be _very_ simple:

cask 'neovim-nightly' do
  version :latest
  sha256 :no_check

  url "https://github.com/neovim/neovim/releases/download/nightly/nvim-macos.tar.gz"
  name 'Neovim Nightly'
  homepage 'https://neovim.io/'

  binary 'nvim-osx64/bin/nvim'
end

If the cask approach seems good, I'll open PRs for a stable cask and a nightly cask.

Follow up question for if the casks seem like a good idea: should the release cask use the stable release or use a specific version (e.g. 0.3.7 as of now)?

https://github.com/neovim/neovim/releases/download/v0.3.7/nvim-macos.tar.gz
vs
https://github.com/neovim/neovim/releases/download/stable/nvim-macos.tar.gz

Is there any plan to add Neovim 0.4.x? It officially released two days ago. I think there is a need for adding the version to libveterm brew package.

Afaik that's already in homebrew.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghostbar picture ghostbar  Â·  4Comments

tejasmanohar picture tejasmanohar  Â·  3Comments

gregvirgin picture gregvirgin  Â·  3Comments

tglawless picture tglawless  Â·  3Comments

kiendang picture kiendang  Â·  3Comments