You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 17, 2026. It is now read-only.
Vagrant with libvirt provider on openSUSE Tumbleweed
How to install Vagrant 2.4.9 on openSUSE Tumbleweed and get the vagrant-libvirt plugin to build. Verified on Tumbleweed snapshot 20260131 with kernel 6.18, Ruby 4.0, libvirt 12.3.
Why the obvious paths don't work
Source
Status
home:alvistack OBS repo
Has Vagrant 2.4.9, but the package is linked against libruby3.4.so while Tumbleweed ships Ruby 4.0. Will keep breaking whenever the build and Tumbleweed's rolling Ruby drift apart.
Uses $releasever, which on Tumbleweed expands to a date snapshot like 20260131, not a RHEL major version, so the URL 404s.
The fix is HashiCorp's official RPM repo with $releasever pinned to a real RHEL major. The HashiCorp RPM bundles its own Ruby (~180 MiB), which is exactly why it sidesteps Tumbleweed's Ruby churn.
Three independent things break in order. Fix them all up front, then a single vagrant plugin install succeeds.
1. Build dependencies
sudo zypper install gcc make libvirt-devel libxml2-devel libxslt-devel pkgconf
libvirt-devel is the headline. The XML libs and pkgconf are needed by transitive native gems (nokogiri, ruby-libvirt).
2. Neutralize HashiCorp's bundled libreadline
HashiCorp's Vagrant prepends /opt/vagrant/embedded/lib to LD_LIBRARY_PATH when shelling out. Its bundled libreadline.so.8 is mis-linked against Tumbleweed's newer ncurses and crashes any sh invocation with undefined symbol: UP. The crash makes pkg-config --exists libvirt exit non-zero, so the gem build reports "libvirt-devel missing" even though it's installed.
Vagrant falls back to the system libreadline and works fine.
3. Fix libgnutls/libleancrypto skew
On Tumbleweed snapshot 20260131, libgnutls30 3.8.13 expects lc_dilithium_pk_from_sk from libleancrypto, but the snapshot ships libleancrypto1 1.6.0 which doesn't export it. The symbol is in 1.7.2. Anything linking with -Wl,--no-as-needed -lvirt (which pulls in libgnutls) hits an undefined-reference error. This may already be resolved in newer snapshots; check first:
vagrant plugin install vagrant-libvirt always reports the same misleading error when anything goes wrong:
Vagrant failed to install the requested plugin because it depends
on development files for a library which is not currently installed
on this system. The following library is required by the 'vagrant-libvirt'
plugin: libvirt
The real cause is in the native-extension build log:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Vagrant with libvirt provider on openSUSE Tumbleweed
How to install Vagrant 2.4.9 on openSUSE Tumbleweed and get the
vagrant-libvirtplugin to build. Verified on Tumbleweed snapshot 20260131 with kernel 6.18, Ruby 4.0, libvirt 12.3.Why the obvious paths don't work
home:alvistackOBS repolibruby3.4.sowhile Tumbleweed ships Ruby 4.0. Will keep breaking whenever the build and Tumbleweed's rolling Ruby drift apart.Virtualization:vagrant(official openSUSE devel repo)hashicorp.repoas-shipped$releasever, which on Tumbleweed expands to a date snapshot like20260131, not a RHEL major version, so the URL 404s.The fix is HashiCorp's official RPM repo with
$releaseverpinned to a real RHEL major. The HashiCorp RPM bundles its own Ruby (~180 MiB), which is exactly why it sidesteps Tumbleweed's Ruby churn.Install Vagrant
sudo zypper ar -f https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo sudo sed -i 's|/$releasever/|/9/|' /etc/zypp/repos.d/hashicorp.repo sudo zypper --gpg-auto-import-keys refresh hashicorp sudo zypper install --from hashicorp vagrantVerify:
vagrant --version # Vagrant 2.4.9Install vagrant-libvirt
Three independent things break in order. Fix them all up front, then a single
vagrant plugin installsucceeds.1. Build dependencies
libvirt-develis the headline. The XML libs and pkgconf are needed by transitive native gems (nokogiri, ruby-libvirt).2. Neutralize HashiCorp's bundled libreadline
HashiCorp's Vagrant prepends
/opt/vagrant/embedded/libtoLD_LIBRARY_PATHwhen shelling out. Its bundledlibreadline.so.8is mis-linked against Tumbleweed's newer ncurses and crashes anyshinvocation withundefined symbol: UP. The crash makespkg-config --exists libvirtexit non-zero, so the gem build reports "libvirt-devel missing" even though it's installed.sudo mkdir -p /opt/vagrant/embedded/lib.disabled sudo mv /opt/vagrant/embedded/lib/libreadline.so* /opt/vagrant/embedded/lib.disabled/Vagrant falls back to the system libreadline and works fine.
3. Fix libgnutls/libleancrypto skew
On Tumbleweed snapshot 20260131,
libgnutls303.8.13 expectslc_dilithium_pk_from_skfrom libleancrypto, but the snapshot shipslibleancrypto11.6.0 which doesn't export it. The symbol is in 1.7.2. Anything linking with-Wl,--no-as-needed -lvirt(which pulls in libgnutls) hits an undefined-reference error. This may already be resolved in newer snapshots; check first:If that returns nothing:
(
sudo zypper dupworks too but pulls a lot more than necessary.)Install the plugin
vagrant plugin install vagrant-libvirt vagrant plugin list # vagrant-libvirt (0.12.2, global)Debugging tip
vagrant plugin install vagrant-libvirtalways reports the same misleading error when anything goes wrong:The real cause is in the native-extension build log:
Always read
mkmf.logbefore believing the "libvirt-devel missing" message.All reactions