Skip to content
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

vagrant: 1.9.5 -> 2.0.0 #30017

Merged
merged 2 commits into from Oct 2, 2017
Merged

vagrant: 1.9.5 -> 2.0.0 #30017

merged 2 commits into from Oct 2, 2017

Conversation

zzamboni
Copy link
Contributor

@zzamboni zzamboni commented Oct 2, 2017

Upgrade to latest version of Vagrant.

After installation, the following messages appear whenever vagrant runs.
These were already present in previous versions, I'm not sure if/what
to do about them:

Ignoring ffi-1.9.18 because its extensions are not built.  Try: gem pristine ffi --version 1.9.18
Ignoring unf_ext-0.0.7.4 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.4
Ignoring wdm-0.1.1 because its extensions are not built.  Try: gem pristine wdm --version 0.1.1
Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

Upgrade to latest version of Vagrant.

After installation, the following messages appear whenever vagrant runs.
These were already present in previous versions, I'm not sure if/what
to do about them:

Ignoring ffi-1.9.18 because its extensions are not built.  Try: gem pristine ffi --version 1.9.18
Ignoring unf_ext-0.0.7.4 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.4
Ignoring wdm-0.1.1 because its extensions are not built.  Try: gem pristine wdm --version 0.1.1
@orivej
Copy link
Contributor

orivej commented Oct 2, 2017

I don't see those message with vagrant 1.9.5 on NixOS, but I do with 2.0.0.

@Mic92
Copy link
Member

Mic92 commented Oct 2, 2017

Is it possible that those extensions have shared libraries, which are needed to be patched with patchelf?

@Mic92
Copy link
Member

Mic92 commented Oct 2, 2017

It looks like ruby 2.3 is now required as the gems are built against libruby.so.2.3.

@Mic92
Copy link
Member

Mic92 commented Oct 2, 2017

Now the warning messages are gone.

@Mic92 Mic92 merged commit b370700 into NixOS:master Oct 2, 2017
@zzamboni
Copy link
Contributor Author

zzamboni commented Oct 2, 2017

Thanks for merging - unfortunately I still see the warnings. I am testing this on Darwin (macOS 10.12.6).

There seems to be some problem with linking some of the libraries. For example, the symlink created for libffi is broken:

file /nix/store/ciazr0b6ms2blnsli9p92g7axkjqdxyx-vagrant-2.0.0/embedded/lib/libffi.so.6 
/nix/store/ciazr0b6ms2blnsli9p92g7axkjqdxyx-vagrant-2.0.0/embedded/lib/libffi.so.6: broken symbolic link to /nix/store/yx68gbvss8sy0wl2bqi1xc4qqk3prip3-libffi-3.2.1/lib/libffi.so.6

Library files in Darwin have extension .dylib:

ls /nix/store/yx68gbvss8sy0wl2bqi1xc4qqk3prip3-libffi-3.2.1/lib
libffi.6.dylib	libffi.dylib  libffi.la

However, simply changing the ln -s command at line 120 doesn't fix it.

Any ideas? I'm afraid I'm still too inexperienced at writing Nix packages to be able to debug this.

@zzamboni
Copy link
Contributor Author

zzamboni commented Oct 2, 2017

For reference, I saw some similar messages being reported in #27293.

@Mic92
Copy link
Member

Mic92 commented Oct 2, 2017

Yeah, this symlink is non-sense on darwin because darwin does use a different library extension. I think the root cause on os x is a different one.

@orivej orivej mentioned this pull request Oct 2, 2017
8 tasks
@zzamboni
Copy link
Contributor Author

zzamboni commented Oct 4, 2017

@Mic92 I realized that if we just use the libraries and binaries included with Vagrant instead of replacing them with Nix's (i.e. comment out https://github.com/zzamboni/nixpkgs/blob/master/pkgs/development/tools/vagrant/default.nix#L69-L120), then all the errors go away. Is there a good reason not to do this? Since Vagrant is distributed with all the tools it needs, as long as they are contained within its own installation and used only by itself, why not leave them like this?

@Mic92
Copy link
Member

Mic92 commented Oct 4, 2017

@zzamboni you could probably make this assumption on os x to get it working. On NixOS we have to patch libraries anyway, so replacing seems the better choice since we get a control regarding security updates and a smaller package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants