-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
neovim install fails with missing libluv.so.1 #81206
Comments
It can be source of trouble for some read-only folders (libluv for instance) and slow down install.
|
so you could do |
Reverting the luarocks bump doesn't work for me. That fix is also very surprising to me, since neovim broke (for me) after the latest nixos-unstable channel update. |
Interesting. It worked fine for me. Running the above revert command and then I don't think it's particularly surprising if updating a channel that happens to include the luarocks bump causes it to break, unless I'm misunderstanding you. |
I updated from a channel where the luarocks bump had already happened, and neovim worked on that channel. In fact, I reverted to the previous hydra evaluation to make my system evaluate again. |
@cole-h This was actually before and it was working without problems and then suddenly the problem appeared again. I can also report that I cam getting this in the same way @charvp described (updated latest nixos-unstable channel and then neovim stopped building again). |
I confirm this fixed by #81483 on master (channels may take a while). For now I'll assume that charvp's failure to resolve the issue with that revert was some kind of mistake; we can re-open otherwise, perhaps separately if it's a different kind of error. |
Does anyone know why updating the luarocks dependency is so brittle? Is it possible to at least add a test so we don't regress again in the future? |
@mdedetrich the tool exists (nixpkgs-review) but it takes CPU and disk space to run plus some reviewer time (and was not run in this case). It is called unstable for a reason. The good thing about nixpkgs is you can pin neovim to an older version while keeping your system on unstable. |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/best-practice-for-pinning-version-of-individual-packages/6194/1 |
Are we sure this is fixed on Darwin? https://hydra.nixos.org/job/nixpkgs/trunk/neovim-unwrapped.x86_64-darwin still shows failing with logs of:
Or is this a different issue? |
I think the root problem here is that luarocks has a poor implementation of "move". Combined with the build's behavior being affected by filesystem ordering the result is essentially random. The implementation of move calls out to the operating system commands My theory: luarocks scans the directory for external libraries in filesystem order Failure case
Success Case
Either way is wrong to some degree, but one of them happens to work well enough for downstream packages to build. If I build locally, the filesystem order I get seems to work, so we can inspect the two results: Failure case
Success case
I've been focusing on this for darwin since the failure case happens to be cached, but I believe it applies equally to linux. |
@hishamhm is that sthg you have already witnessed ? |
What LuaRocks version is this happening with? I have pushed fixes related to the file deployment stage in 3.3.1. |
I've tested 3.2.1 (current nixpkgs master) and 3.3.1 (hasty upgrade locally), they both have similar results, except on 3.3.1 the errors now propagate correctly. I've uploaded a log of a failed build with 3.3.1. |
I was hoping to find time to write a proper issue report and a test lua package for this, but haven't yet. My test case would have a directory structure made with
In order to succeed the deployment stage would have to produce both the file and its symlink. |
Describe the bug
neovim fails to build with missing libluv.so.1, similar to #80704 #80750, on b1ec189.
To Reproduce
Steps to reproduce the behavior:
neovim
toenvironment.systemPackages
Expected behavior
The package should successfully build.
Metadata
On master (b1ec189)
Maintainer information:
The text was updated successfully, but these errors were encountered: