Giter VIP home page Giter VIP logo

Comments (18)

geraldus avatar geraldus commented on May 27, 2024 3

brew edit neovim
revert jemalloc 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.

jszakmeister avatar jszakmeister commented on May 27, 2024 3

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.

telemachus avatar telemachus commented on May 27, 2024 1

@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.

anthonybrown avatar anthonybrown commented on May 27, 2024 1

I just did a reinstall of neovim and everything seems to be working

from homebrew-neovim.

jszakmeister avatar jszakmeister commented on May 27, 2024

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.

telemachus avatar telemachus commented on May 27, 2024

@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.

anthonybrown avatar anthonybrown commented on May 27, 2024

@telemachus what version of jemalloc should I revert to?

from homebrew-neovim.

anthonybrown avatar anthonybrown commented on May 27, 2024

@telemachus thanks, it got neovim installed for now

from homebrew-neovim.

jszakmeister avatar jszakmeister commented on May 27, 2024

@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.

jszakmeister avatar jszakmeister commented on May 27, 2024

That's not really fixing the issue. :-)

from homebrew-neovim.

geraldus avatar geraldus commented on May 27, 2024

@jszakmeister I want give it a try. How should I discard edits made in formula now? Simply edit again manually?

from homebrew-neovim.

anthonybrown avatar anthonybrown commented on May 27, 2024

@jszakmeister cool, I'll try that. I have neovim installed and working by reverting jemalloc to an earlier build 💯

from homebrew-neovim.

jszakmeister avatar jszakmeister commented on May 27, 2024

@geraldus I would discard them, or git stash them if you think you might need them for some reason.

from homebrew-neovim.

jszakmeister avatar jszakmeister commented on May 27, 2024

I've filed an issue for Homebrew (Homebrew/brew#1550). We'll see what they have to say about it.

from homebrew-neovim.

jszakmeister avatar jszakmeister commented on May 27, 2024

@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.

geraldus avatar geraldus commented on May 27, 2024

@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/nvim

VIM= 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.

geraldus avatar geraldus commented on May 27, 2024

The error message Please set VIM to Neovim's $VIM directory. seems quite confusing to me by the way.

from homebrew-neovim.

justinmk avatar justinmk commented on May 27, 2024

Based on Homebrew/brew#1550 it sounds like if we use the official homebrew jemalloc things should work.

from homebrew-neovim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.