Comments (18)
brew edit neovim
revertjemalloc
version to 4.0.2 (change URL and SHA256 referring to commit 3f4322f in both places)
brew install neovim --cleanup
Worked for me, macOS El Capitan 10.11.6, NeoVim 0.1.6.
from homebrew-neovim.
So, I think the root cause here is that Homebrew's superenv is picking up the 10.12 SDK on El Capitan, which causes jemalloc's check for os_unfair_lock to succeed. A simple workaround (if your normal build environment is clean enough) is to use the "standard" environment (which isn't really the default environment--super is) by passing --env=std
on the install command line:
brew install --env=std neovim
So this seems like it's probably a bug on Homebrew's end.
from homebrew-neovim.
@anthonybrown I reverted to the previous version used by neovim, namely 4.0.2. You can see what changes to make by looking at this diff: 3f4322f. You just want to switch back from the right (which is newer) to the left (which is older).
from homebrew-neovim.
I just did a reinstall of neovim
and everything seems to be working
from homebrew-neovim.
I believe the problem here is that Neovim is being built for Sierra (10.12), but you're running on El Capitan (10.11), and Apple isn't helping the issue at all, since it doesn't appear to have an SDK for 10.11 in Xcode 8.1. :-( You might also argue that jemalloc might be detecting things wrong too. What's interesting is running locally appears to work fine.
From your logs I see the following when configuring jemalloc:
checking whether Darwin os_unfair_lock_*() is compilable... yes
But when running locally, I see this:
checking whether Darwin os_unfair_lock_*() is compilable... no
My guess is that Homebrew is somehow altering our environment in a way that causes the check to pass when we need it to fail. :-(
from homebrew-neovim.
@jszakmeister I'm seeing the same problem as anthonybrown, and I'm wondering if it's related to this issue in jemalloc: jemalloc/jemalloc#494. This makes sense since the last update to this formula was to bump jemalloc (3f4322f).
If this is right, then until jemalloc is fixed (or the bottle in homebrew rebuilt?), then perhaps this formula should revert to the earlier jemalloc? (I can confirm that going back to the earlier version of jemalloc locally fixed my problem. @anthonybrown, you might want to try that for now. Just run brew edit neovim
to adjust the formula locally—though you may need to update your shell's EDITOR
variable if it's set to nvim
!)
from homebrew-neovim.
@telemachus what version of jemalloc
should I revert to?
from homebrew-neovim.
@telemachus thanks, it got neovim
installed for now
from homebrew-neovim.
@telemachus It almost certainly is, but it's not clear whose at fault here. If I compile jemalloc outside Homebrew, it does the right thing. Inside of Homebrew it doesn't. It's not clear why that is. It's also frustrating that Xcode 8.1 doesn't have 10.11 SDK--I think it should, and it's not clear to me how to get it. I'm curious if we had it available if Homebrew would use the correct SDK when building. Or if there's something else goofy going on. Like the tool build correctly by default, but Homebrew's environment is causing the SDK to be pulled in, which then causes jemalloc's config test to find os_unfair_lock
. I feel like we need to detangle all of that to find the right solution.
But, as a workaround, we could set the config cache variable to say that we don't support os_unfair_lock on El Capitan somehow.
from homebrew-neovim.
That's not really fixing the issue. :-)
from homebrew-neovim.
@jszakmeister I want give it a try. How should I discard edits made in formula now? Simply edit again manually?
from homebrew-neovim.
@jszakmeister cool, I'll try that. I have neovim
installed and working by reverting jemalloc
to an earlier build 💯
from homebrew-neovim.
@geraldus I would discard them, or git stash
them if you think you might need them for some reason.
from homebrew-neovim.
I've filed an issue for Homebrew (Homebrew/brew#1550). We'll see what they have to say about it.
from homebrew-neovim.
@geraldus I just realized I didn't answer your question well. If you change to the folder where the formula is, you can discard your changes with git checkout neovim.rb
.
from homebrew-neovim.
@jszakmeister here is my report:
brew uninstall neovim-dot-app
- reverted
jemalloc
dependency to HEAD - now
brew install neovim-dot-app
fails with:
make
NVIM=/usr/local/opt/neovim/bin/nvimVIM= NVIM=/usr/local/opt/neovim/bin/nvim scons -Q
Please set VIM to Neovim's $VIM directory.
I tried to export VIM variable for build command and indeed this results in successful build. However application itself is not usable: after start I see blank window with static black cursor and nothing happens. I can't see line numbers, tildes and status bar as usual. Application not responds and I can only force–quit it. I've tried various values for VIM variable before build:
/usr/local/opt/neovim/bin/nvim
/usr/local/opt/neovim/bin/
/usr/local/opt/neovim/
In all cases the result was the same — a broken app.
Finally, brew install neovim-dot-app --HEAD
works fine without any variable manipulations.
from homebrew-neovim.
The error message Please set VIM to Neovim's $VIM directory.
seems quite confusing to me by the way.
from homebrew-neovim.
Based on Homebrew/brew#1550 it sounds like if we use the official homebrew jemalloc things should work.
from homebrew-neovim.
Related Issues (20)
- CMake error (SOLVED) HOT 7
- Unable to update NeoVim on Mac OS HOT 2
- how to update my xgettext version?? HOT 4
- Replace external deps with homebrew formulae HOT 8
- fix jemalloc upstream homebrew formula HOT 1
- brew reinstall --HEAD neovim fail HOT 4
- Using stable released build of luarocks and luv HOT 4
- install fails on macOS HOT 1
- Build a proper release version of neovim, not a release with debugging info version HOT 1
- error: Cannot determine shared library suffix from libtool HOT 8
- Upgrade to v0.2 please HOT 1
- Current `install --HEAD` fails to build due to missing tmp directory HOT 4
- Make failing: `brew install neovim` with Linuxbrew HOT 6
- jemalloc 5.0.0 causes neovim to crash HOT 16
- "Too many errors" HOT 4
- Formula not available on Linuxbrew HOT 9
- Is there a way to downgrade? HOT 4
- Doesn't exist in homebrew HOT 2
- Update to latest version 0.3.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homebrew-neovim.