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

Unable to activate vagrant_cloud-3.1.1, because rexml-3.3.2 conflicts with rexml (~> 3.2.5) #13502

Closed
alexandrosomegas opened this issue Sep 12, 2024 · 13 comments

Comments

@alexandrosomegas
Copy link

alexandrosomegas commented Sep 12, 2024

Debug output

vagrant reload
/usr/lib/ruby/3.2.0/rubygems/specification.rb:2303:in raise_if_conflicts': Unable to activate vagrant_cloud-3.1.1, because rexml-3.3.2 conflicts with rexml (~> 3.2.5) (Gem::ConflictError) from /usr/lib/ruby/3.2.0/rubygems/specification.rb:1432:in activate'
from /usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_gem.rb:63:in block in gem' from /usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_gem.rb:63:in synchronize'
from /usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_gem.rb:63:in gem' from /opt/vagrant/embedded/gems/gems/vagrant-2.4.1/bin/vagrant:95:in block (2 levels) in

'
from /opt/vagrant/embedded/gems/gems/vagrant-2.4.1/bin/vagrant:94:in each' from /opt/vagrant/embedded/gems/gems/vagrant-2.4.1/bin/vagrant:94:in block in '
from /opt/vagrant/embedded/gems/gems/vagrant-2.4.1/bin/vagrant:105:in `'

Expected behavior

Actual behavior

Reproduction information

This happened after today full system update on Arch Linux (yay -Syu)

resolving dependencies...
looking for conflicting packages...

Packages (9) gnome-nibbles-4.1.0-1 iwd-2.22-1 php-mongodb-1.19.4-1
ruby-3.2.5-2 ruby-bundled-gems-3.2.5-2 ruby-default-gems-3.2.5-2
ruby-rexml-3.3.2-1 ruby-stdlib-3.2.5-2 wayland-1.23.1-1

Total Download Size: 6.02 MiB
Total Installed Size: 24.42 MiB
Net Upgrade Size: 0.63 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
ruby-3.2.5-2-x86_64 4.0 MiB 17.4 MiB/s 00:00 [######################] 100%
php-mongodb-1.19... 756.1 KiB 4.83 MiB/s 00:00 [######################] 100%
iwd-2.22-1-x86_64 581.6 KiB 4.98 MiB/s 00:00 [######################] 100%
gnome-nibbles-4.... 385.2 KiB 2.89 MiB/s 00:00 [######################] 100%
ruby-rexml-3.3.2... 197.9 KiB 3.86 MiB/s 00:00 [######################] 100%
wayland-1.23.1-1... 140.4 KiB 2.28 MiB/s 00:00 [######################] 100%
ruby-bundled-gem... 4.6 KiB 97.8 KiB/s 00:00 [######################] 100%
ruby-default-gem... 4.5 KiB 96.6 KiB/s 00:00 [######################] 100%
ruby-stdlib-3.2.... 4.5 KiB 96.2 KiB/s 00:00 [######################] 100%
Total (9/9) 6.0 MiB 4.29 MiB/s 00:01 [######################] 100%
(9/9) checking keys in keyring [######################] 100%
(9/9) checking package integrity [######################] 100%
(9/9) loading package files [######################] 100%
(9/9) checking for file conflicts [######################] 100%
(9/9) checking available disk space [######################] 100%
:: Processing package changes...
(1/9) upgrading wayland [######################] 100%
(2/9) upgrading gnome-nibbles [######################] 100%
(3/9) upgrading iwd [######################] 100%
(4/9) upgrading php-mongodb [######################] 100%
(5/9) upgrading ruby [######################] 100%
(6/9) upgrading ruby-rexml [######################] 100%
(7/9) upgrading ruby-bundled-gems [######################] 100%
(8/9) upgrading ruby-default-gems [######################] 100%
(9/9) upgrading ruby-stdlib [######################] 100%
:: Running post-transaction hooks...
(1/6) Reloading system manager configuration...
(2/6) Arming ConditionNeedsUpdate...
(3/6) Reloading system bus configuration...
(4/6) Compiling GSettings XML schema files...
(5/6) Updating icon theme caches...
(6/6) Updating the desktop file MIME type cache...

...

:: 10 packages to upgrade/install.
10 extra/gnome-nibbles 4.0.4-1.1 -> 4.1.0-1
9 extra/iwd 2.21-1 -> 2.22-1
8 extra/php-mongodb 1.19.3-1 -> 1.19.4-1
7 extra/ruby 3.2.5-1 -> 3.2.5-2
6 extra/ruby-bundled-gems 3.2.5-1 -> 3.2.5-2
5 extra/ruby-default-gems 3.2.5-1 -> 3.2.5-2
4 extra/ruby-rexml 3.2.6-2 -> 3.3.2-1
3 extra/ruby-stdlib 3.2.5-1 -> 3.2.5-2
2 extra/wayland 1.23.0-1 -> 1.23.1-1
1 aur/google-chrome 128.0.6613.119-1 -> 128.0.6613.137-1

Vagrant version

vagrant -v
Vagrant 2.4.1

ruby -v
ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x86_64-linux]

gem list

*** LOCAL GEMS ***

abbrev (default: 0.1.1)
base64 (default: 0.1.1)
benchmark (default: 0.2.1)
bigdecimal (default: 3.1.3)
bundler (default: 2.5.11)
cgi (default: 0.3.6)
csv (default: 3.2.6)
date (default: 3.3.3)
debug (1.7.1)
delegate (default: 0.3.0)
did_you_mean (default: 1.6.3)
digest (default: 3.1.1)
drb (default: 2.1.1)
english (default: 0.7.2)
erb (4.0.4)
error_highlight (default: 0.5.1)
etc (default: 1.4.2)
fcntl (default: 1.0.2)
fiddle (default: 1.1.1)
fileutils (default: 1.7.0)
find (default: 0.1.1)
forwardable (default: 1.3.3)
getoptlong (default: 0.2.0)
io-console (default: 0.6.0)
io-nonblock (default: 0.2.0)
io-wait (default: 0.3.0)
ipaddr (default: 1.2.5)
irb (default: 1.6.2)
json (default: 2.6.3)
logger (default: 1.5.3)
matrix (0.4.2)
minitest (5.22.3)
mutex_m (default: 0.1.2)
net-ftp (0.3.5)
net-http (default: 0.4.1)
net-imap (0.4.12)
net-pop (0.1.2)
net-protocol (default: 0.2.1)
net-smtp (0.5.0)
nkf (default: 0.1.2)
observer (default: 0.1.1)
open-uri (default: 0.3.0)
open3 (default: 0.1.2)
openssl (default: 3.1.0)
optparse (default: 0.3.1)
ostruct (default: 0.5.5)
pathname (default: 0.2.1)
power_assert (2.0.3)
pp (default: 0.4.0)
prettyprint (default: 0.1.1)
prime (0.1.2)
pstore (default: 0.1.2)
psych (default: 5.0.1)
racc (default: 1.6.2)
rake (13.0.6)
rbs (3.4.4)
rdoc (default: 6.5.1.1)
readline (default: 0.0.3)
readline-ext (default: 0.1.5)
reline (default: 0.3.2)
resolv (default: 0.2.2)
resolv-replace (default: 0.1.1)
rexml (3.3.2)
rinda (default: 0.1.1)
rss (0.3.0)
ruby2_keywords (default: 0.0.5)
securerandom (default: 0.2.2)
set (default: 1.0.3)
shellwords (default: 0.1.0)
singleton (default: 0.1.1)
stringio (default: 3.0.4)
strscan (default: 3.0.5)
syntax_suggest (default: 1.1.0)
syslog (default: 0.1.1)
tempfile (default: 0.1.3)
test-unit (3.6.2)
time (default: 0.2.2)
timeout (default: 0.3.1)
tmpdir (default: 0.1.3)
tsort (default: 0.1.1)
typeprof (0.21.8)
un (default: 0.2.1)
uri (default: 0.12.2)
weakref (default: 0.1.2)
yaml (default: 0.2.1)
zlib (default: 3.0.0)

virtualbox-7.0.20-1

Host operating system

Guest operating system

Steps to reproduce

vagrant reload
or
vagrant reload

# Copy-paste your Vagrantfile here. Remove any sensitive information such as passwords, authentication tokens, or email addresses.
@Pierrotws
Copy link

Work around is to revert ruby-rexml upgrade from 3.2.6 to 3.3.2

sudo pacman -U /var/cache/pacman/pkg/ruby-rexml-3.2.6-2-any.pkg.tar.zst

and then freeze upgrade in /etc/pacman.conf

IgnorePkg = ruby-rexml

If you're also using Virtualbox as backend, you also need workaround proposed here

@alexandrosomegas
Copy link
Author

Thank you!

@alexandrosomegas
Copy link
Author

An more easy option is to use 'downgrade' for downgrade:


sudo su
work/stats [develop] » downgrade ruby-rexml
loading packages...
warning: downgrading package ruby-rexml (3.3.2-1 => 3.2.6-2)
resolving dependencies...
looking for conflicting packages...

Packages (1) ruby-rexml-3.2.6-2

Total Installed Size: 0.43 MiB
Net Upgrade Size: -0.57 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [#############################] 100%
(1/1) checking package integrity [#############################] 100%
(1/1) loading package files [#############################] 100%
(1/1) checking for file conflicts [#############################] 100%
(1/1) checking available disk space [#############################] 100%
:: Processing package changes...
(1/1) downgrading ruby-rexml [#############################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
add ruby-rexml to IgnorePkg? [y/N] y


@ndlrfz
Copy link

ndlrfz commented Sep 13, 2024

For Archlinux and similar, you can use the previous version of ruby-rexml package from here:

https://archive.archlinux.org/packages/r/ruby-rexml/

For example:

wget https://archive.archlinux.org/packages/r/ruby-rexml/ruby-rexml-3.2.6-2-any.pkg.tar.zst
sudo pacman -U ruby-rexml-3.2.6-2-any.pkg.tar.zst

@alexandrosomegas
Copy link
Author

Just info for Arch linux + yay users.
Damn, today viertualbox went version up to unsupported version 7.1. (it could be expected since today is Friday 13th).
downgrade to v 7.0.20-1

sudo su
downgrade virtualbox-host-dkms
and
downgrade virtualbox

It worked for me.
Problem could be that we don't know long we must keep virtualbox, virtualbox-host-dkms, ruby-rexml in IgnorePkg (probably till new version of vagrant will fix those conflicts?

Screenshot from 2024-09-13 07-53-08

@mateuszR84
Copy link

mateuszR84 commented Sep 13, 2024

@alexandrosomegas - did you run full system update before having this error? i did and now i have similar problem, but seems like downgrading virtualbox and dkms didn't work, now i've got error saying that the kernel module is not loaded. What is your current kernel version?

Edit:
it works, steps to reproduce:
downgrade virtualbox, downgrade virtualbox-host-dkms, run pacman -S linux linux-headers, reboot

@leaveye
Copy link

leaveye commented Sep 13, 2024

An more easy option is to use 'downgrade' for downgrade:

sudo su work/stats [develop] » downgrade ruby-rexml loading packages... warning: downgrading package ruby-rexml (3.3.2-1 => 3.2.6-2) resolving dependencies... looking for conflicting packages...

Packages (1) ruby-rexml-3.2.6-2

Total Installed Size: 0.43 MiB Net Upgrade Size: -0.57 MiB

:: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [#############################] 100% (1/1) checking package integrity [#############################] 100% (1/1) loading package files [#############################] 100% (1/1) checking for file conflicts [#############################] 100% (1/1) checking available disk space [#############################] 100% :: Processing package changes... (1/1) downgrading ruby-rexml [#############################] 100% :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... add ruby-rexml to IgnorePkg? [y/N] y

well I am not ruby user. is there any guide for using the downgrade tool?

@leaveye
Copy link

leaveye commented Sep 13, 2024

Just info for Arch linux + yay users. Damn, today viertualbox went version up to unsupported version 7.1. (it could be expected since today is Friday 13th). downgrade to v 7.0.20-1

sudo su downgrade virtualbox-host-dkms and downgrade virtualbox

It worked for me. Problem could be that we don't know long we must keep virtualbox, virtualbox-host-dkms, ruby-rexml in IgnorePkg (probably till new version of vagrant will fix those conflicts?

Screenshot from 2024-09-13 07-53-08

True, downgrade these 3 works for me for this error. But vagrant then tells:

❯ vagrant reload
==> default: Checking if box 'debian/bookworm64' version '12.20240503.1' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
    default: Adapter 3: bridged
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "a92789f7-1744-4355-821a-92560140a0dc", "--type", "headless"]

Stderr: VBoxManage: error: The virtual machine 'devops_default_1726238446231_23652' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine

After google, reinstall virtualbox virtualbox-host-dkms virtualbox-ext-vnc from pacman cache version 7.0.20-1 doesnt help.

Edit: It works just as @mateuszR84 said. after reinstall my in-using linux linux-header, to fire DKMS rebuild I guess, and REBOOT.

@alexandrosomegas
Copy link
Author

alexandrosomegas commented Sep 13, 2024

@mateuszR84

@alexandrosomegas - did you run full system update before having this error? i did and now i have similar problem, but seems like downgrading virtualbox and dkms didn't work, now i've got error saying that the kernel module is not loaded. What is your current kernel version?

Edit: it works, steps to reproduce: downgrade virtualbox, downgrade virtualbox-host-dkms, run pacman -S linux linux-headers, reboot

Yes, I did full system upgrade (Arch linux). As I wrote after 3 downgrade (and pinned them to ignore offered by downgrade) I mentioned, Vagrant up/ssh worked fine. (About install Downgrade Arch users can look here: https://aur.archlinux.org/packages/downgrade
(it can be installed using simple command: yay -S downgrade)
But question is when we can remove those 3 pkg from ignore... I hope with new version of vagrant.

vagrant reload
==> statistics: Checking if box 'laravel/homestead' version '14.0.2' is up to date...
==> statistics: Clearing any previously set forwarded ports...
==> statistics: Clearing any previously set network interfaces...
==> statistics: Preparing network interfaces based on configuration...
statistics: Adapter 1: nat
statistics: Adapter 2: hostonly
==> statistics: Forwarding ports...
statistics: 80 (guest) => 8000 (host) (adapter 1)
statistics: 443 (guest) => 44300 (host) (adapter 1)
statistics: 8081 (guest) => 8081 (host) (adapter 1)
statistics: 8082 (guest) => 8082 (host) (adapter 1)
statistics: 8083 (guest) => 8083 (host) (adapter 1)
statistics: 8091 (guest) => 8091 (host) (adapter 1)
statistics: 8888 (guest) => 8888 (host) (adapter 1)
statistics: 2181 (guest) => 2183 (host) (adapter 1)
statistics: 2888 (guest) => 2888 (host) (adapter 1)
statistics: 3888 (guest) => 3888 (host) (adapter 1)
statistics: 22 (guest) => 2222 (host) (adapter 1)
==> statistics: Running 'pre-boot' VM customizations...
==> statistics: Booting VM...
==> statistics: Waiting for machine to boot. This may take a few minutes...
statistics: SSH address: 127.0.0.1:2222
statistics: SSH username: vagrant
statistics: SSH auth method: private key
statistics: Warning: Connection reset. Retrying...
statistics: Warning: Remote connection disconnect. Retrying...
statistics: Warning: Connection reset. Retrying...
statistics: Warning: Remote connection disconnect. Retrying...
==> statistics: Machine booted and ready!
==> statistics: Checking for guest additions in VM...
==> statistics: Setting hostname...
==> statistics: Configuring and enabling network interfaces...
==> statistics: Mounting shared folders...
statistics: /vagrant => /home/work/dating-stats
statistics: /home/vagrant/dating-statistics => /home/work/dating-stats
==> statistics: Detected mount owner ID within mount options. (uid: 1000 guestpath: /home/vagrant/dating-statistics)
==> statistics: Detected mount group ID within mount options. (gid: 1000 guestpath: /home/vagrant/dating-statistics)
==> statistics: Machine already provisioned. Run vagrant provision or use the --provision
==> statistics: flag to force provisioning. Provisioners marked to run always will still run.

than vagrant ssh, and all worked fine for me.

@alexandrosomegas
Copy link
Author

@leaveye
Here is Downgrade: https://aur.archlinux.org/packages/downgrade

An more easy option is to use 'downgrade' for downgrade:
sudo su work/stats [develop] » downgrade ruby-rexml loading packages... warning: downgrading package ruby-rexml (3.3.2-1 => 3.2.6-2) resolving dependencies... looking for conflicting packages...
Packages (1) ruby-rexml-3.2.6-2
Total Installed Size: 0.43 MiB Net Upgrade Size: -0.57 MiB
:: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [#############################] 100% (1/1) checking package integrity [#############################] 100% (1/1) loading package files [#############################] 100% (1/1) checking for file conflicts [#############################] 100% (1/1) checking available disk space [#############################] 100% :: Processing package changes... (1/1) downgrading ruby-rexml [#############################] 100% :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... add ruby-rexml to IgnorePkg? [y/N] y

well I am not ruby user. is there any guide for using the downgrade tool?

@vmsh0
Copy link

vmsh0 commented Sep 24, 2024

I understand the workaround currently is to downgrade a Ruby dep and VirtualBox, but is there a plan properly fix this?

@hcartiaux
Copy link

I understand the workaround currently is to downgrade a Ruby dep and VirtualBox, but is there a plan properly fix this?

If we are still speaking about archlinux, the Vagrant PKGBUILD embeds its own gem dependencies in /opt/vagrant/embedded/gems/, so rebuilding the PKGBUILD will produce a new package with rexml 3.2 included.

But then you will run into the same problem with the vagrant-cloud gem which also depends on rexml ~>3.2.0. There's an open bug here: hashicorp/vagrant_cloud#87

@wbecker
Copy link

wbecker commented Oct 23, 2024

Annoying this approach seems to fail in arch now - when building the module:


  CC [M]  /var/lib/dkms/vboxhost/7.0.8_OSE/build/vboxdrv/combined-agnostic2.o
/var/lib/dkms/vboxhost/7.0.8_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c: In function ‘vboxNetFltLinuxSkBufToSG’:
/var/lib/dkms/vboxhost/7.0.8_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c:928:36: error: ‘skb_frag_t’ {aka ‘struct skb_frag’} has no member named ‘bv_len’
  928 |         pSG->aSegs[iSeg].cb = pFrag->bv_len;
      |                                    ^~
/var/lib/dkms/vboxhost/7.0.8_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c:929:66: error: ‘skb_frag_t’ {aka ‘struct skb_frag’} has no member named ‘bv_offset’; did you mean ‘offset’?
  929 |         pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;

I guess this means downgrading the kernel as well...

Edit - this change seems to have happened in [email protected] - currently on 6.11 - how is it compiling for anyone with recent headers?

Edit 2 - think this was my error. I looked at https://archive.archlinux.org/packages/v/virtualbox-host-dkms/ and saw the bottom version as being .0.8, when there was a .0.20 hiding above. Using 20 should work hopefully!

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

No branches or pull requests

8 participants