vagrant-libvirt: Centos 8 /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
Plugin installs when using CONFIGURE_ARGS='with-ldflags="-L/opt/vagrant/embedded/lib64 -L/opt/vagrant/embedded/lib" with-libvirt-include=/usr/include/libvirt with-libvirt-lib=/usr/lib' GEM_HOME=~/.vagrant.d/gems GEM_PATH=$GEM_HOME:/opt/vagrant/embedded/gems PATH=/opt/vagrant/embedded/bin:$PATH vagrant plugin install vagrant-libvirt
but then fails with error when doing vagrant up
/opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b - /home/hughest/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1/lib/_libvirt.so (LoadError)
Steps to reproduce
[hughest@potassium ~]$ sudo dnf install https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.rpm
Last metadata expiration check: 1:13:27 ago on Mon 29 Jun 2020 12:25:10 BST.
vagrant_2.2.9_x86_64.rpm 81 MB/s | 42 MB 00:00
Dependencies resolved.
===================================================================================================================================================================================
Package Architecture Version Repository Size
===================================================================================================================================================================================
Installing:
vagrant x86_64 1:2.2.9-1 @commandline 42 M
Transaction Summary
===================================================================================================================================================================================
Install 1 Package
Total size: 42 M
Installed size: 122 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : vagrant-1:2.2.9-1.x86_64 1/1
Verifying : vagrant-1:2.2.9-1.x86_64 1/1
Installed products updated.
Installed:
vagrant-1:2.2.9-1.x86_64
Complete!
[hughest@potassium ~]$ mkdir vagrant
[hughest@potassium ~]$ cd vagrant/
[hughest@potassium vagrant]$ vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
[hughest@potassium vagrant]$ vagrant up
No usable default provider could be found for your system.
Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.
The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.
If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
[hughest@potassium vagrant]$ vagrant plugin install vagrant-libvirt
Installing the 'vagrant-libvirt' plugin. This can take a few minutes...
Fetching excon-0.75.0.gem
Fetching formatador-0.2.5.gem
Fetching fog-core-2.2.0.gem
Fetching fog-json-1.2.0.gem
Fetching mini_portile2-2.4.0.gem
Fetching nokogiri-1.10.9.gem
Building native extensions. This could take a while...
Fetching fog-xml-0.1.3.gem
Fetching ruby-libvirt-0.7.1.gem
Building native extensions. This could take a while...
Vagrant failed to properly resolve required dependencies. These
errors can commonly be caused by misconfigured plugin installations
or transient network issues. The reported error is:
ERROR: Failed to build gem native extension.
current directory: /home/hughest/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1/ext/libvirt
/opt/vagrant/embedded/bin/ruby -I /opt/vagrant/embedded/lib/ruby/2.6.0 -r ./siteconf20200629-4164483-g071od.rb extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/opt/vagrant/embedded/bin/$(RUBY_BASE_NAME)
--with-libvirt-include
--without-libvirt-include
--with-libvirt-lib
--without-libvirt-lib
--with-libvirt-config
--without-libvirt-config
--with-pkg-config
--without-pkg-config
extconf.rb:73:in `<main>': libvirt library not found in default locations (RuntimeError)
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/home/hughest/.vagrant.d/gems/2.6.6/extensions/x86_64-linux/2.6.0/ruby-libvirt-0.7.1/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /home/hughest/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1 for inspection.
Results logged to /home/hughest/.vagrant.d/gems/2.6.6/extensions/x86_64-linux/2.6.0/ruby-libvirt-0.7.1/gem_make.out
[hughest@potassium vagrant]$ cat /home/hughest/.vagrant.d/gems/2.6.6/extensions/x86_64-linux/2.6.0/ruby-libvirt-0.7.1/mkmf.log
"pkg-config --exists libvirt"
| pkg-config --libs libvirt
=> "-lvirt \n"
"gcc -o conftest -I/opt/vagrant/embedded/include/ruby-2.6.0/x86_64-linux -I/opt/vagrant/embedded/include/ruby-2.6.0/ruby/backward -I/opt/vagrant/embedded/include/ruby-2.6.0 -I. -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include -fPIC conftest.c -L. -L/opt/vagrant/embedded/lib -Wl,-rpath,/opt/vagrant/embedded/lib -L/opt/vagrant/embedded/lib -Wl,-rpath,/opt/vagrant/embedded/lib -L. -L/opt/vagrant/embedded/lib -L/opt/vagrant/embedded/lib64 -Wl,-rpath=/opt/vagrant/embedded/lib:/opt/vagrant/embedded/lib64 -fstack-protector-strong -rdynamic -Wl,-export-dynamic -L/opt/vagrant/embedded/lib -Wl,-rpath,/opt/vagrant/embedded/lib -Wl,-rpath,'/../lib' -Wl,-rpath,'/../lib' -lruby -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
"gcc -o conftest -I/opt/vagrant/embedded/include/ruby-2.6.0/x86_64-linux -I/opt/vagrant/embedded/include/ruby-2.6.0/ruby/backward -I/opt/vagrant/embedded/include/ruby-2.6.0 -I. -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include -I/opt/vagrant/embedded/include -fPIC conftest.c -L. -L/opt/vagrant/embedded/lib -Wl,-rpath,/opt/vagrant/embedded/lib -L/opt/vagrant/embedded/lib -Wl,-rpath,/opt/vagrant/embedded/lib -L. -L/opt/vagrant/embedded/lib -L/opt/vagrant/embedded/lib64 -Wl,-rpath=/opt/vagrant/embedded/lib:/opt/vagrant/embedded/lib64 -fstack-protector-strong -rdynamic -Wl,-export-dynamic -L/opt/vagrant/embedded/lib -Wl,-rpath,/opt/vagrant/embedded/lib -Wl,-rpath,'/../lib' -Wl,-rpath,'/../lib' -lruby -lvirt -lm -lc"
//usr/lib64/libk5crypto.so.3: undefined reference to `EVP_KDF_derive@OPENSSL_1_1_1b'
//usr/lib64/libk5crypto.so.3: undefined reference to `EVP_KDF_ctrl@OPENSSL_1_1_1b'
//usr/lib64/libk5crypto.so.3: undefined reference to `EVP_KDF_CTX_free@OPENSSL_1_1_1b'
//usr/lib64/libk5crypto.so.3: undefined reference to `EVP_KDF_CTX_new_id@OPENSSL_1_1_1b'
collect2: error: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
package configuration for libvirt is not found
[hughest@potassium vagrant]$ CONFIGURE_ARGS='with-ldflags="-L/opt/vagrant/embedded/lib64 -L/opt/vagrant/embedded/lib" with-libvirt-include=/usr/include/libvirt with-libvirt-lib=/usr/lib' GEM_HOME=~/.vagrant.d/gems GEM_PATH=$GEM_HOME:/opt/vagrant/embedded/gems PATH=/opt/vagrant/embedded/bin:$PATH vagrant plugin install vagrant-libvirt
Installing the 'vagrant-libvirt' plugin. This can take a few minutes...
Building native extensions. This could take a while...
Building native extensions. This could take a while...
Fetching fog-libvirt-0.7.0.gem
Fetching vagrant-libvirt-0.1.2.gem
Installed the plugin 'vagrant-libvirt (0.1.2)'!
System configuration
OS/Distro version:: Centos 8 fully updated
Libvirt version: libvirt-4.5.0-42.module_el8.2.0+320+13f867d7.x86_64
Output of vagrant version; vagrant plugin list:
Installed Version: 2.2.9
Latest Version: 2.2.9
Output of vagrant up --provider=libvirt
#Bringing machine 'default' up with 'libvirt' provider...
Traceback (most recent call last):
35: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/batch_action.rb:86:in `block (2 levels) in run'
34: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/machine.rb:198:in `action'
33: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/machine.rb:198:in `call'
32: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/environment.rb:613:in `lock'
31: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/machine.rb:212:in `block in action'
30: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/machine.rb:240:in `action_raw'
29: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/runner.rb:89:in `run'
28: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/util/busy.rb:19:in `busy'
27: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/runner.rb:89:in `block in run'
26: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/builder.rb:116:in `call'
25: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:48:in `call'
24: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
23: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:48:in `call'
22: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/builtin/box_check_outdated.rb:31:in `call'
21: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:48:in `call'
20: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/builtin/call.rb:52:in `call'
19: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/builder.rb:155:in `to_app'
18: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/builder.rb:155:in `new'
17: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:34:in `initialize'
16: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:34:in `map'
15: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:34:in `block in initialize'
14: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:102:in `finalize_action'
13: from /opt/vagrant/embedded/gems/2.2.9/gems/vagrant-2.2.9/lib/vagrant/action/warden.rb:102:in `new'
12: from /home/hughest/.vagrant.d/gems/2.6.6/gems/vagrant-libvirt-0.1.2/lib/vagrant-libvirt/action/create_networks.rb:26:in `initialize'
11: from /home/hughest/.vagrant.d/gems/2.6.6/gems/vagrant-libvirt-0.1.2/lib/vagrant-libvirt/provider.rb:29:in `driver'
10: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
9: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
8: from /home/hughest/.vagrant.d/gems/2.6.6/gems/vagrant-libvirt-0.1.2/lib/vagrant-libvirt/driver.rb:1:in `<top (required)>'
7: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
6: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
5: from /home/hughest/.vagrant.d/gems/2.6.6/gems/fog-libvirt-0.7.0/lib/fog/libvirt.rb:4:in `<top (required)>'
4: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
3: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
2: from /home/hughest/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1/lib/libvirt.rb:11:in `<top (required)>'
1: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b - /home/hughest/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1/lib/_libvirt.so (LoadError)
A Vagrantfile to reproduce the issue:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
end
Are you using upstream vagrant package or your distros package? Upstream vagrant-1:2.2.9-1.x86_64
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 34 (13 by maintainers)
Commits related to this issue
- I've changed the Vagrant package from the Fedora provided to upstream. The Vagrant package provided by Fedora doesn't support the Ruby library for WinRM that is need by Vagrant for talking to Windows.... — committed to rhjhunt/vagrant-container by rhjhunt 4 years ago
- Disable CentOS 8 testing Due to lack of support from Vagrant for CentOS 8 we disable testing on that platform and document it. Some power users may be able to get it going but the level of hacking in... — committed to ansible-community/molecule-vagrant by ssbarnea 4 years ago
- Disable CentOS 8 testing Due to lack of support from Vagrant for CentOS 8 we disable testing on that platform and document it. Some power users may be able to get it going but the level of hacking in... — committed to ansible-community/molecule-vagrant by ssbarnea 4 years ago
- Disable CentOS 8 testing Due to lack of support from Vagrant for CentOS 8 we disable testing on that platform and document it. Some power users may be able to get it going but the level of hacking in... — committed to ansible-community/molecule-vagrant by ssbarnea 4 years ago
- CI/CentOS: Need openssl-devel See vagrant-libvirt/vagrant-libvirt/issues/1127#issuecomment-711106172 — committed to RBVI/ChimeraX by zjp 2 years ago
and the dirty way to get vagrant-libvirt on CentOS 8.2.2004 😕
in fedora 32
sudo dnf install flex bison sudo dnf install gcc g++ libguestfs-tools-c libvirt libvirt-devel libxml2-devel libxslt-devel make ruby-devel sudo dnf install https://releases.hashicorp.com/vagrant/2.2.10/vagrant_2.2.10_x86_64.rpm cd /tmp/; wget http://vault.centos.org/8.2.2004/BaseOS/Source/SPackages/krb5-1.17-18.el8.src.rpm rpm2cpio krb5-1.17-18.el8.src.rpm | cpio -imdV tar xf krb5-1.17.tar.gz cd krb5-1.17/src LDFLAGS=‘-L/opt/vagrant/embedded/’ ./configure make sudo cp lib/libk5crypto.so.3 /opt/vagrant/embedded/lib64/ vagrant plugin install vagrant-libvirt
This worked for
CentOS Linux release 8.2.2004as well.Full DEBUG logs
Also working on Fedora 33. Thank’s
@electrofelix unfortunately I haven’t been able to get the official vagrant-libvirt docker image to work
I encountered this issue with Fedora and documented the problem in this thread: https://github.com/vagrant-libvirt/vagrant-libvirt/issues/1088. I found that the steps outlined in https://github.com/hashicorp/vagrant/issues/11020#issuecomment-540043472 by @JamesReynolds resolved the problem for me. I have upstream vagrant (2.2.10 now) and the current vagrant-libvirt plugin working well on Fedora 32.