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

Provider vmware_desktop on Arch Linux throws cannot load such file -- vagrant/vmware/desktop #10472

Open
mrlesmithjr opened this issue Dec 2, 2018 · 10 comments

Comments

@mrlesmithjr
Copy link

Vagrant version

Vagrant 2.2.0

Host operating system

Manjaro 18.0

Guest operating system

Ubuntu

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.

# Ensure yaml module is loaded
require 'yaml'

# Read yaml node definitions to create
# **Update nodes.yml to reflect any changes
nodes = YAML.load_file(File.join(File.dirname(__FILE__), 'nodes.yml'))

# Define global variables
#

Vagrant.configure(2) do |config|
  # Iterate over nodes to get a count
  # Define as 0 for counting the number of nodes to create from nodes.yml
  groups = [] # Define array to hold ansible groups
  num_nodes = 0
  populated_ansible_groups = {} # Create hash to contain iterated groups

  # Create array of Ansible Groups from iterated nodes
  nodes.each do |node|
    num_nodes = node
    node['ansible_groups'].each do |group|
      groups.push(group)
    end
  end

  # Remove duplicate Ansible Groups
  groups = groups.uniq

  # Iterate through array of Ansible Groups
  groups.each do |group|
    group_nodes = []
    # Iterate list of nodes
    nodes.each do |node|
      node['ansible_groups'].each do |nodegroup|
        # Check if node is a member of iterated group
        group_nodes.push(node['name']) if nodegroup == group
      end
      populated_ansible_groups[group] = group_nodes
    end
  end

  # Dynamic Ansible Groups iterated from nodes.yml
  ansible_groups = populated_ansible_groups

  # Define Ansible groups statically for more control
  # ansible_groups = {
  #   "spines" => ["node0", "node7"],
  #   "leafs" => ["node[1:2]", "node[8:9]"],
  #   "quagga-routers:children" => ["spines", "leafs", "compute-nodes"],
  #   "compute-nodes" => ["node[3:6]"],
  #   "docker-swarm:children" => ["docker-swarm-managers", "docker-swarm-workers"],
  #   "docker-swarm-managers" => ["node[3:4]"],
  #   "docker-swarm-workers" => ["node[5:6]"]
  # }

  # Iterate over nodes
  nodes.each do |node_id|
    # Below is needed if not using Guest Additions
    # config.vm.synced_folder ".", "/vagrant", type: "rsync",
    #   rsync__exclude: "hosts"
    config.vm.define node_id['name'] do |node|
      unless node_id['synced_folder'].nil?
        unless node_id['synced_folder']['type'].nil?
          config.vm.synced_folder '.', '/vagrant', type: node_id['synced_folder']['type']
        end
      end
      node.vm.box = node_id['box']
      node.vm.hostname = node_id['name']
      node.vm.provider 'virtualbox' do |vbox|
        # Use linked clones - default: true unless defined in nodes.yml
        # Define linked_clone: true|false in nodes.yml per node
        vbox.linked_clone = node_id['linked_clone']||= true

        vbox.memory = node_id['mem']
        vbox.cpus = node_id['vcpu']

        # Setup desktop environment
        unless node_id['desktop'].nil?
          if node_id['desktop']
            vbox.gui = true
            vbox.customize ['modifyvm', :id, '--accelerate3d', 'on']
            vbox.customize ['modifyvm', :id, '--graphicscontroller', 'vboxvga']
            vbox.customize ['modifyvm', :id, '--hwvirtex', 'on']
            vbox.customize ['modifyvm', :id, '--ioapic', 'on']
            vbox.customize ['modifyvm', :id, '--vram', '128']
          end
        end

        # Setup Windows Server
        unless node_id['windows'].nil?
          if node_id['windows']
            node.vm.guest = :windows
            node.vm.communicator = :winrm
            vbox.default_nic_type = "82540EM"
            vbox.gui = true
            vbox.customize ['modifyvm', :id, '--accelerate2dvideo', 'on']
            vbox.customize ['modifyvm', :id, '--accelerate3d', 'on']
            vbox.customize ['modifyvm', :id, '--clipboard', 'bidirectional']
            vbox.customize ['modifyvm', :id, '--vram', '128']
          end
        end

        # Add additional disk(s)
        unless node_id['disks'].nil?
          dnum = 0
          node_id['disks'].each do |disk_num|
            dnum = (dnum.to_i + 1)
            ddev = "#{node_id['name']}_Disk#{dnum}.vdi"
            dsize = disk_num['size'].to_i * 1024
            unless File.file?(ddev.to_s)
              vbox.customize ['createhd', '--filename', ddev.to_s, \
                            '--variant', 'Fixed', '--size', dsize]
            end
            vbox.customize ['storageattach', :id, '--storagectl', \
                          (disk_num['controller']).to_s, '--port', dnum, '--device', 0, \
                          '--type', 'hdd', '--medium', ddev.to_s]
          end
        end
      end

      ['vmware_desktop', 'vmware_fusion'].each do |vmware|
        node.vm.provider vmware do |vmw|
          # Use linked clones - default: true unless defined in nodes.yml
          # Define linked_clone: true|false in nodes.yml per node
          vmw.linked_clone = node_id['linked_clone']||= true

          vmw.vmx['memsize'] = node_id['mem']
          vmw.vmx['numvcpus'] = node_id['vcpu']

          # Setup desktop environment
          unless node_id['desktop'].nil?
            if node_id['desktop']
              vmw.gui = true
              vmw.vmx['mks.enable3d'] = true
            end
          end

          # Setup Windows Server
          unless node_id['windows'].nil?
            if node_id['windows']
              node.vm.guest = :windows
              node.vm.communicator = :winrm
              # vmw.vmx['ethernet0.virtualdev'] = 'e1000'
              vmw.gui = true
              vmw.vmx['mks.enable3d'] = true
            else
              vmw.vmx['ethernet0.pcislotnumber'] = '33'
            end
          end

          # Add additional disk(s)
          unless node_id['disks'].nil?
            vdiskmanager = 'vmware-vdiskmanager'
            dnum = 0
            vmdk_path = File.dirname(__FILE__)
            node_id['disks'].each do |disk_num|
              dnum = (dnum.to_i + 1)
              ddev = File.join(vmdk_path, "#{node_id['name']}_Disk#{dnum}.vmdk")
              dsize = "#{disk_num['size']}GB"
              unless File.file?(ddev)
                `#{vdiskmanager} -c -s #{dsize} -a lsilogic -t 0 #{ddev}`
              end
              vmw.vmx["scsi0:#{dnum}.filename"] = "#{ddev}"
              vmw.vmx["scsi0:#{dnum}.present"] = true
              vmw.vmx["scsi0:#{dnum}.redo"] = ''
            end
          end
        end
      end

      # Provision network interfaces
      unless node_id['interfaces'].nil?
        node_id['interfaces'].each do |int|
          if int['method'] == 'dhcp'
            if int['network_name'] == 'None'
              node.vm.network :private_network, \
                              type: 'dhcp'
            end
            if int['network_name'] != 'None'
              node.vm.network :private_network, \
                              virtualbox__intnet: int['network_name'], \
                              type: 'dhcp'
            end
          end
          next unless int['method'] == 'static'
          if int['network_name'] == 'None'
            node.vm.network :private_network, \
                            ip: int['ip'], \
                            auto_config: int['auto_config']
          end
          next unless int['network_name'] != 'None'
          node.vm.network :private_network, \
                          virtualbox__intnet: int['network_name'], \
                          ip: int['ip'], \
                          auto_config: int['auto_config']
        end
      end

      # Port Forwards
      unless node_id['port_forwards'].nil?
        node_id['port_forwards'].each do |pf|
          node.vm.network :forwarded_port, \
                          guest: pf['guest'], \
                          host: pf['host']
        end
      end

      # Provisioners
      unless node_id['provision'].nil?
        if node_id['provision']
          unless node_id['windows'].nil?
            # runs initial script
            if node_id['windows']
              node.vm.provision 'shell', path: 'scripts/ConfigureRemotingForAnsible.ps1'
            else
              node.vm.provision :shell, path: 'scripts/bootstrap.sh', keep_color: 'true'
            end
          end
          if node_id == num_nodes
            node.vm.provision 'ansible' do |ansible|
              ansible.limit = 'all'
              # Sets up host_vars
              ansible.playbook = 'prep_host_vars.yml'
            end
            node.vm.provision 'ansible' do |ansible|
              ansible.limit = 'all'
              # runs bootstrap Ansible playbook
              ansible.playbook = 'bootstrap.yml'
            end
            node.vm.provision 'ansible' do |ansible|
              ansible.limit = 'all'
              # runs Ansible playbook for installing roles/executing tasks
              ansible.playbook = 'playbook.yml'
              ansible.groups = ansible_groups
            end
          end
        end
      end
    end
  end
end

Debug output

https://gist.github.com/mrlesmithjr/874a74dc4a8bb45ac70896c89a9d8a5e

Expected behavior

I would expect that the box would spin up successfully using the vagrant-vmware-desktop plugin.

Actual behavior

Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- vagrant/vmware/desktop

Steps to reproduce

  1. Install plugin from https://www.vagrantup.com/vmware/downloads.html for Arch
  2. vagrant plugin install vagrant-vmware-desktop
  3. vagrant plugin license vagrant-vmware-desktop ~/license.lic
  4. vagrant up --provider vmware_desktop

References

Additional notes

I have tested this same process on macOS and Ubuntu without the same issue.

@hirnschmalz
Copy link

Same problem here on Windows 10

PS C:\> vagrant plugin list
vagrant-vmware-desktop (0.0.1, global)
PS C:\> vagrant
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- vagrant/vmware/desktop

I did a vagrant plugin install vagrant-vmware-desktop followed by a vagrant plugin license vagrant-vmware-desktop license.lic which succeeded with

Installing license for 'vagrant-vmware-desktop'...
The license for 'vagrant-vmware-desktop' was successfully installed!

@hirnschmalz
Copy link

Here the output of vagrant --debug:

 INFO global: Vagrant version: 2.2.2
 INFO global: Ruby version: 2.4.4
 INFO global: RubyGems version: 2.6.14.1
 INFO global: VAGRANT_EXECUTABLE="C:\\HashiCorp\\Vagrant\\embedded\\gems\\2.2.2\\gems\\vagrant-2.2.2\\bin\\vagrant"
 INFO global: VAGRANT_INSTALLER_EMBEDDED_DIR="C:\\HashiCorp\\Vagrant\\embedded"
 INFO global: VAGRANT_INSTALLER_ENV="1"
 INFO global: VAGRANT_INSTALLER_VERSION="2"
 INFO global: VAGRANT_LOG="debug"
 WARN global: resolv replacement has not been enabled!
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/box/plugin.rb
 INFO manager: Registered plugin: box command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/cap/plugin.rb
 INFO manager: Registered plugin: cap command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/cloud/plugin.rb
 INFO manager: Registered plugin: vagrant-cloud
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/destroy/plugin.rb
 INFO manager: Registered plugin: destroy command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/global-status/plugin.rb
 INFO manager: Registered plugin: global-status command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/halt/plugin.rb
 INFO manager: Registered plugin: halt command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/help/plugin.rb
 INFO manager: Registered plugin: help command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/init/plugin.rb
 INFO manager: Registered plugin: init command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/list-commands/plugin.rb
 INFO manager: Registered plugin: list-commands command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/login/plugin.rb
 INFO manager: Registered plugin: vagrant-login
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/package/plugin.rb
 INFO manager: Registered plugin: package command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/plugin/plugin.rb
 INFO manager: Registered plugin: plugin command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/port/plugin.rb
 INFO manager: Registered plugin: port command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/powershell/plugin.rb
 INFO manager: Registered plugin: powershell command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/provider/plugin.rb
 INFO manager: Registered plugin: provider command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/provision/plugin.rb
 INFO manager: Registered plugin: provision command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/push/plugin.rb
 INFO manager: Registered plugin: push command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/rdp/plugin.rb
 INFO manager: Registered plugin: rdp command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/reload/plugin.rb
 INFO manager: Registered plugin: reload command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/resume/plugin.rb
 INFO manager: Registered plugin: resume command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/snapshot/plugin.rb
 INFO manager: Registered plugin: snapshot command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/ssh/plugin.rb
 INFO manager: Registered plugin: ssh command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/ssh_config/plugin.rb
 INFO manager: Registered plugin: ssh-config command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/status/plugin.rb
 INFO manager: Registered plugin: status command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/suspend/plugin.rb
 INFO manager: Registered plugin: suspend command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/up/plugin.rb
 INFO manager: Registered plugin: up command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/upload/plugin.rb
 INFO manager: Registered plugin: upload command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/validate/plugin.rb
 INFO manager: Registered plugin: validate command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/version/plugin.rb
 INFO manager: Registered plugin: version command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/winrm/plugin.rb
 INFO manager: Registered plugin: winrm command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/commands/winrm_config/plugin.rb
 INFO manager: Registered plugin: winrm-config command
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/communicators/ssh/plugin.rb
 INFO manager: Registered plugin: ssh communicator
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/communicators/winrm/plugin.rb
 INFO manager: Registered plugin: winrm communicator
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/communicators/winssh/plugin.rb
 INFO manager: Registered plugin: windows ssh communicator
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/alt/plugin.rb
 INFO manager: Registered plugin: ALT Platform guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/amazon/plugin.rb
 INFO manager: Registered plugin: Amazon Linux guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/arch/plugin.rb
 INFO manager: Registered plugin: Arch guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/atomic/plugin.rb
 INFO manager: Registered plugin: Atomic Host guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/bsd/plugin.rb
 INFO manager: Registered plugin: BSD-based guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/coreos/plugin.rb
 INFO manager: Registered plugin: CoreOS guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/darwin/plugin.rb
 INFO manager: Registered plugin: Darwin guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/debian/plugin.rb
 INFO manager: Registered plugin: Debian guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/dragonflybsd/plugin.rb
 INFO manager: Registered plugin: DragonFly BSD guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/elementary/plugin.rb
 INFO manager: Registered plugin: Elementary guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/esxi/plugin.rb
 INFO manager: Registered plugin: ESXi guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/fedora/plugin.rb
 INFO manager: Registered plugin: Fedora guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/freebsd/plugin.rb
 INFO manager: Registered plugin: FreeBSD guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/funtoo/plugin.rb
 INFO manager: Registered plugin: Funtoo guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/gentoo/plugin.rb
 INFO manager: Registered plugin: Gentoo guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/haiku/plugin.rb
 INFO manager: Registered plugin: Haiku guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/kali/plugin.rb
 INFO manager: Registered plugin: Kali guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/linux/plugin.rb
 INFO manager: Registered plugin: Linux guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/mint/plugin.rb
 INFO manager: Registered plugin: Mint guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/netbsd/plugin.rb
 INFO manager: Registered plugin: NetBSD guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/nixos/plugin.rb
 INFO manager: Registered plugin: NixOS guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/omnios/plugin.rb
 INFO manager: Registered plugin: OmniOS guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/openbsd/plugin.rb
 INFO manager: Registered plugin: OpenBSD guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/photon/plugin.rb
 INFO manager: Registered plugin: VMware Photon guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/pld/plugin.rb
 INFO manager: Registered plugin: PLD Linux guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/redhat/plugin.rb
 INFO manager: Registered plugin: Red Hat Enterprise Linux guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/slackware/plugin.rb
 INFO manager: Registered plugin: Slackware guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/smartos/plugin.rb
 INFO manager: Registered plugin: SmartOS guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/solaris/plugin.rb
 INFO manager: Registered plugin: Solaris guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/solaris11/plugin.rb
 INFO manager: Registered plugin: Solaris 11 guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/suse/plugin.rb
 INFO manager: Registered plugin: SUSE guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/tinycore/plugin.rb
 INFO manager: Registered plugin: TinyCore Linux guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/trisquel/plugin.rb
 INFO manager: Registered plugin: Trisquel guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/ubuntu/plugin.rb
 INFO manager: Registered plugin: Ubuntu guest
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/guests/windows/plugin.rb
 INFO manager: Registered plugin: Windows guest.
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/alt/plugin.rb
 INFO manager: Registered plugin: ALT Platform host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/arch/plugin.rb
 INFO manager: Registered plugin: Arch host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/bsd/plugin.rb
 INFO manager: Registered plugin: BSD host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/darwin/plugin.rb
 INFO manager: Registered plugin: Mac OS X host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/freebsd/plugin.rb
 INFO manager: Registered plugin: FreeBSD host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/gentoo/plugin.rb
 INFO manager: Registered plugin: Gentoo host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/linux/plugin.rb
 INFO manager: Registered plugin: Linux host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/null/plugin.rb
 INFO manager: Registered plugin: null host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/redhat/plugin.rb
 INFO manager: Registered plugin: Red Hat Enterprise Linux host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/slackware/plugin.rb
 INFO manager: Registered plugin: Slackware host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/suse/plugin.rb
 INFO manager: Registered plugin: SUSE host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/hosts/windows/plugin.rb
 INFO manager: Registered plugin: Windows host
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/kernel_v1/plugin.rb
 INFO manager: Registered plugin: kernel
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/kernel_v2/plugin.rb
 INFO manager: Registered plugin: kernel
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/providers/docker/plugin.rb
 INFO manager: Registered plugin: docker-provider
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/providers/hyperv/plugin.rb
 INFO manager: Registered plugin: Hyper-V provider
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/providers/virtualbox/plugin.rb
 INFO manager: Registered plugin: VirtualBox provider
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/ansible/plugin.rb
 INFO manager: Registered plugin: ansible
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/cfengine/plugin.rb
 INFO manager: Registered plugin: CFEngine Provisioner
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/chef/plugin.rb
 INFO manager: Registered plugin: chef
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/docker/plugin.rb
 INFO manager: Registered plugin: docker
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/file/plugin.rb
 INFO manager: Registered plugin: file
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/puppet/plugin.rb
 INFO manager: Registered plugin: puppet
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/salt/plugin.rb
 INFO manager: Registered plugin: salt
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/provisioners/shell/plugin.rb
 INFO manager: Registered plugin: shell
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/pushes/atlas/plugin.rb
 INFO manager: Registered plugin: atlas
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/pushes/ftp/plugin.rb
 INFO manager: Registered plugin: ftp
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/pushes/heroku/plugin.rb
 INFO manager: Registered plugin: heroku
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/pushes/local-exec/plugin.rb
 INFO manager: Registered plugin: local-exec
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/pushes/noop/plugin.rb
 INFO manager: Registered plugin: noop
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/synced_folders/nfs/plugin.rb
 INFO manager: Registered plugin: NFS synced folders
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/synced_folders/rsync/plugin.rb
 INFO manager: Registered plugin: RSync synced folders
DEBUG global: Loading core plugin: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/plugins/synced_folders/smb/plugin.rb
 INFO manager: Registered plugin: SMB synced folders
 INFO vagrant: `vagrant` invoked: ["--debug"]
DEBUG vagrant: Creating Vagrant environment
 INFO environment: Environment initialized (#<Vagrant::Environment:0x0000000004985b58>)
 INFO environment:   - cwd: C:/WINDOWS/System32
 INFO environment: Home path: C:/Users/XXXXXX/.vagrant.d
DEBUG environment: Effective local data path:
 WARN environment: No local data path is set. Local data cannot be stored.
DEBUG manager: No plugins provided for loading
DEBUG manager: Enabling globalized plugins
 INFO manager: Plugins:
 INFO manager:   - vagrant-vmware-desktop = [installed: 0.0.1 constraint: > 0]
DEBUG bundler: Current generated plugin dependency list: [<Gem::Dependency type=:runtime name="vagrant-vmware-desktop" requirements="= 0.0.1">]
DEBUG bundler: Generating new builtin set instance.
DEBUG bundler: Generating new plugin set instance. Skip gems - []
DEBUG bundler: Activating solution set: ["vagrant-vmware-desktop-0.0.1"]
DEBUG bundler: Activating gem vagrant-vmware-desktop-0.0.1
 INFO manager: Loading plugins...
 INFO manager: Loading plugin `vagrant-vmware-desktop` with default require: `vagrant-vmware-desktop`
ERROR manager: Failed to load plugin `vagrant-vmware-desktop` with default require. - LoadError: cannot load such file -- vagrant-vmware-desktop
 INFO manager: Loading plugin `vagrant-vmware-desktop` with slash require: `vagrant/vmware/desktop`
ERROR manager: Plugin loading error: LoadError - cannot load such file -- vagrant/vmware/desktop
DEBUG manager: C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/plugin/manager.rb:322:in `rescue in block in load_plugins'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/plugin/manager.rb:314:in `block in load_plugins'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/plugin/manager.rb:312:in `each'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/plugin/manager.rb:312:in `load_plugins'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/environment.rb:176:in `initialize'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/bin/vagrant:144:in `new'
DEBUG manager: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/bin/vagrant:144:in `<main>'
ERROR vagrant: Vagrant experienced an error! Details:
ERROR vagrant: #<Vagrant::Errors::PluginLoadError: The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- vagrant/vmware/desktop>
ERROR vagrant: The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- vagrant/vmware/desktop
ERROR vagrant: C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/plugin/manager.rb:342:in `rescue in load_plugins'
C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/plugin/manager.rb:310:in `load_plugins'
C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/lib/vagrant/environment.rb:176:in `initialize'
C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/bin/vagrant:144:in `new'
C:/HashiCorp/Vagrant/embedded/gems/2.2.2/gems/vagrant-2.2.2/bin/vagrant:144:in `<main>'
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- vagrant/vmware/desktop

@hirnschmalz
Copy link

Sorry for beeing a bit impatient but I have this problem on two freshly installed Windows 10 machines. Is someone from HashiCorp taking care about this issue? I should go on with developing inside my Vagrant machine.

Thanks in advance,

Markus

@hirnschmalz
Copy link

Regarding to #10413 I was able to workaround this issue by installing version 2.0.4 of vagrant. The same problem as described above occurs after installing the latest 2.1 version of vagrant.

@mrlesmithjr
Copy link
Author

mrlesmithjr commented Dec 6, 2018

I personally moved away from Arch and just loaded up Ubuntu 18.04 as I did not have the time to wait. All is good now, but this is still an issue. Especially as this is a paid for plugin.

@chrisroberts
Copy link
Member

@mrlesmithjr For arch based systems using the standalone binary (https://releases.hashicorp.com/vagrant/2.2.2/vagrant_2.2.2_linux_amd64.zip) will resolve the issue. The arch package uses the system Ruby (which is 2.5.x) and not supported by the plugin which causes the issue. It's being worked on to be resolved for the next release.

@hirnschmalz Based on your host platform I am guessing that you installed the 32-bit version of Vagrant instead of the 64-bit version. Would you confirm which version you have installed, and install the 64-bit version if it is not currently.

Thanks

@mrlesmithjr
Copy link
Author

@chrisroberts Great and many thanks.

@hirnschmalz
Copy link

@chrisroberts I just double checked and I definitely installed the 64 bit version of Vagrant 2.2.2 for Windows.

@hirnschmalz
Copy link

@chrisroberts I was able to fix this with the latest version of vmware_desktop plugin. For some reason on my machines the version 0.0.1 was installed. I forced the current version with vagrant plugin install vagrant-vmware-desktop --plugin-version 2.0.2 and now this issue is solved.

I installed vagrant followed by vagrant-vmware-utility and the vagrant-vmware-desktop plugin. On two different machines version 0.0.1 of the plugin was installed.

@mborko
Copy link

mborko commented Aug 7, 2019

I have the same problem again! My current arch ruby version is 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]". Does the plugin need the rubyencoder, and therefore the rgloader? Unfortunately there is no rgloader for ruby version 2.6 to download! So the debug output doesn't help me really:

ERROR manager: Failed to load plugin `vagrant-vmware-desktop` with default require. - LoadError: The RubyEncoder loader is not installed. Please visit the http://www.rubyencoder.com/loaders/ RubyEncoder site to download the required loader for 'linux' and unpack it into '/opt/vagrant/embedded/rgloader' directory to run this protected script.
 INFO manager: Loading plugin `vagrant-vmware-desktop` with slash require: `vagrant/vmware/desktop`
ERROR manager: Plugin loading error: LoadError - cannot load such file -- vagrant/vmware/desktop
DEBUG manager: /usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
DEBUG manager: /usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/lib/vagrant/plugin/manager.rb:322:in `rescue in block in load_plugins'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/lib/vagrant/plugin/manager.rb:314:in `block in load_plugins'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/lib/vagrant/plugin/manager.rb:312:in `each'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/lib/vagrant/plugin/manager.rb:312:in `load_plugins'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/lib/vagrant/environment.rb:176:in `initialize'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/bin/vagrant:145:in `new'
DEBUG manager: /opt/vagrant/embedded/gems/gems/vagrant-2.2.5/bin/vagrant:145:in `<main>'
ERROR vagrant: Vagrant experienced an error! Details:
ERROR vagrant: #<Vagrant::Errors::PluginLoadError: The plugins failed to load properly. The error message given is
shown below.

I've tried to downgrade my arch ruby version, but this is a pain in the ass. Also a simple softlink from /bin/ruby to /bin/ruby-2.4 get me into troubles with the gem packages:

Ignoring bcrypt_pbkdf-1.0.1 because its extensions are not built.  Try: gem pristine bcrypt_pbkdf --version 1.0.1
Ignoring ed25519-1.2.4 because its extensions are not built.  Try: gem pristine ed25519 --version 1.2.4
Ignoring ffi-1.11.1 because its extensions are not built.  Try: gem pristine ffi --version 1.11.1
Ignoring unf_ext-0.0.7.6 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.6
Ignoring wdm-0.1.1 because its extensions are not built.  Try: gem pristine wdm --version 0.1.1

I can now start a vmware instance but this hack is not very clean and I would be happy, if my symlink-solution is not the only way to solve this problem! Has anybody a hint?

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

5 participants