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: 2.2.19 -> 2.3.4 #225136

Merged
merged 1 commit into from
May 1, 2023
Merged

vagrant: 2.2.19 -> 2.3.4 #225136

merged 1 commit into from
May 1, 2023

Conversation

rvem
Copy link
Contributor

@rvem rvem commented Apr 7, 2023

2.2.19 doesn't work with VirtualBox version present in nixpkgs

Description of changes
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

2.2.19 doesn't work with VirtualBox version present in nixpkgs

* https://github.com/hashicorp/vagrant/blob/v2.3.4/CHANGELOG.md
@risicle
Copy link
Contributor

risicle commented Apr 7, 2023

On macos 10.15, ruby grpc fails to build:

rm -f /nix/store/b3b844qnab55034wmqjq2h62xa59sz1d-ruby2.7.8-grpc-1.53.0/lib/ruby/gems/2.7.0/gems/grpc-1.53.0/src/ruby/ext/grpc/libs/opt/libgrpc.a
ar -rv /nix/store/b3b844qnab55034wmqjq2h62xa59sz1d-ruby2.7.8-grpc-1.53.0/lib/ruby/gems/2.7.0/gems/grpc-1.53.0/src/ruby/ext/grpc/libs/opt/libgrpc.a /nix/store/b3b844qnab55034wmqjq2h62xa59sz1d-ruby2.7.8-grpc-1.53.0/lib/ruby/gems/2.7.0/gems/grpc-1.53.0/src/ruby/ext/grpc/objs/opt/src/core/ext/filters/backend_metrics/backend_metric_fi
make: ar: Argument list too long
make: *** [Makefile:1796: /nix/store/b3b844qnab55034wmqjq2h62xa59sz1d-ruby2.7.8-grpc-1.53.0/lib/ruby/gems/2.7.0/gems/grpc-1.53.0/src/ruby/ext/grpc/libs/opt/libgrpc.a] Error 127
make: Leaving directory '/nix/store/b3b844qnab55034wmqjq2h62xa59sz1d-ruby2.7.8-grpc-1.53.0/lib/ruby/gems/2.7.0/gems/grpc-1.53.0'

@risicle
Copy link
Contributor

risicle commented Apr 7, 2023

See #219237

@risicle
Copy link
Contributor

risicle commented Apr 7, 2023

@kirillrdy kirillrdy mentioned this pull request Apr 29, 2023
12 tasks
@ElvishJerricco
Copy link
Contributor

Although it does fail to build on darwin, that's not the error that I get. I get:

strip: error: symbols referenced by indirect symbol table entries that can't be stripped in: /nix/store/2378mz57ggbsq5fi0ivx89k3iw77ad3x-ruby2.7.8-grpc-1.53.0/lib/ruby/gems/2.7.0/gems/grpc-1.53.0/src/ruby/ext/grpc/grpc_c.bundle
_CFBundleGetVersionNumber
_CFRelease
_CFStringGetCString
_CFStringGetLength
_CFStringGetMaximumSizeForEncoding
_CFTimeZoneCopyDefault
_CFTimeZoneGetName
__Unwind_Resume
__ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm
__ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc
[...]

And that list goes on.

@risicle risicle mentioned this pull request Apr 30, 2023
12 tasks
@jerith666 jerith666 mentioned this pull request Apr 30, 2023
12 tasks
@jerith666
Copy link
Contributor

Since this (and #219237) were opened, 8826b55 has broken vagrant on linux (and maybe also on darwin?), with a failure like:

running install tests
/nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/conflict.rb:47:in `conflicting_dependencies': undefined method `request' for nil:NilClass (NoMethodError)

    [@failed_dep.dependency, @activated.request.dependency]
                                       ^^^^^^^^
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/exceptions.rb:61:in `conflicting_dependencies'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/exceptions.rb:55:in `initialize'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver.rb:193:in `exception'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver.rb:193:in `raise'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver.rb:193:in `rescue in resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver.rb:191:in `resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/request_set.rb:411:in `resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/request_set.rb:423:in `resolve_current'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:228:in `finish_resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:285:in `block in activate_bin_path'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:283:in `synchronize'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:283:in `activate_bin_path'
        from /nix/store/aizc1q55n18q2gipd109904cf1rvj3i1-vagrant-2.2.19/bin/.vagrant-wrapped:18:in `<main>'
/nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:317:in `raise_error_unless_state': Unable to satisfy the following requirements: (Gem::Resolver::Molinillo::VersionConflict)

- `vagrant (= 2.2.19)` required by `user-specified dependency`
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:299:in `block in unwind_for_conflict'
        from <internal:kernel>:90:in `tap'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:297:in `unwind_for_conflict'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:682:in `attempt_to_activate'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:254:in `process_topmost_state'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:182:in `resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolver.rb:43:in `resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/resolver.rb:190:in `resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/request_set.rb:411:in `resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems/request_set.rb:423:in `resolve_current'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:228:in `finish_resolve'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:285:in `block in activate_bin_path'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:283:in `synchronize'
        from /nix/store/kgcrppkcbpwkfjhhnl2azrlzfhpv9ilb-ruby-3.1.4/lib/ruby/3.1.0/rubygems.rb:283:in `activate_bin_path'
        from /nix/store/aizc1q55n18q2gipd109904cf1rvj3i1-vagrant-2.2.19/bin/.vagrant-wrapped:18:in `<main>'

Before this happened, it was arguable whether to proceed with the upgrade (trading newer & working vagrant on linux for broken vagrant on darwin).

But given the current state, I think it's better to upgrade, trading broken vagrant on linux (and presumably darwin) for working vagrant on linux and still-broken on darwin.

Of course ideally we'd have the new version working on darwin too, but I don't have a darwin machine so can't contribute to that. :(

@ElvishJerricco
Copy link
Contributor

As a stopgap, we could reopen #228850, which doesn't update vagrant but does allow it to build on both linux and darwin by using ruby 2.7.

@wegank
Copy link
Member

wegank commented May 1, 2023

I think this should be removed:

# For >= v1.48.0
substituteInPlace src/ruby/ext/grpc/extconf.rb \
--replace 'apple_toolchain = ' 'apple_toolchain = false && '

Also, darwin.autoSignDarwinBinariesHook needs to be added there. This fixes vagrant on my aarch64-darwin machine.

@wegank wegank mentioned this pull request May 1, 2023
12 tasks
@wegank
Copy link
Member

wegank commented May 1, 2023

@ofborg build vagrant vagrant.passthru.tests

@wegank
Copy link
Member

wegank commented May 1, 2023

Result of nixpkgs-review pr 225136 run on aarch64-darwin 1

1 package built:
  • vagrant

@wegank wegank merged commit fdc43a6 into NixOS:master May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants