vagrant-landrush / landrush

A Vagrant plugin that provides a simple DNS server for Vagrant guests
MIT License
668 stars 80 forks source link

Landrush not working on Windows 10 #356

Open bartoll opened 4 years ago

bartoll commented 4 years ago

I try to install landrush plugin on Windows 10 with the newest version of:

I am getting error message as below:

C:\Users\Bartek\Vagrants\vm1>vagrant plugin list
vagrant-host-shell (0.0.4, global)
vagrant-hostsupdater (1.1.1.160, global)
vagrant-vbguest (0.22.1, global)

C:\Users\Bartek\Vagrants\vm1>vagrant plugin install landrush
Installing the 'landrush' plugin. This can take a few minutes...
Fetching: filelock-1.1.1.gem (100%)
Fetching: landrush-ip-0.2.5.gem (100%)
Fetching: eventmachine-1.0.9.1.gem (100%)
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: C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1/ext
C:/HashiCorp/Vagrant/embedded/mingw64/bin/ruby.exe -r ./siteconf20191217-14568-5rsnxb.rb extconf.rb
checking for -lssleay32... no
checking for -lssleay32... no
checking for -lssleay32... no
checking for -lssleay32... no
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for pipe2() in unistd.h... no
checking for accept4() in sys/socket.h... no
checking for SOCK_CLOEXEC in sys/socket.h... no
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for windows.h... yes
checking for winsock.h... yes
checking for -lkernel32... yes
checking for -lrpcrt4... yes
checking for -lgdi32... yes
checking for clock_gettime()... yes
checking for CLOCK_MONOTONIC_RAW in time.h... no
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result -Wno-address
creating Makefile

current directory: C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1/ext
make "DESTDIR=" clean

current directory: C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1/ext
make "DESTDIR="

make failed, uncaught signal 11

Gem files will remain installed in C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1 for inspection.
Results logged to C:/Users/Bartek/.vagrant.d/gems/2.4.9/extensions/x64-mingw32/2.4.0/eventmachine-1.0.9.1/gem_make.out
  1. Has somebody installed landrush-plugin successfully on Windows 10? Especially with the newest version as above.

  2. I would appreciate for heliping to solve my problem.

davividal commented 4 years ago

I installed landrush on Windows 10 using a previous vagrant version.

But your issue is with eventmachine, not landrush.

bartoll commented 4 years ago

@davividal you are right, the problem is with eventmachine but i suppose it is dependency of landrush. I managed to install 'eventmachine' plugin seperately (it was in newest version much higher than 1.0.9.1). Despite this, I am getting error during installation of landrush (it tries to install eventmachine in version 1.0.9.1).

davividal commented 4 years ago

@bartoll after installing eventmachine you are still getting the same error? Please provide the output after the eventmachine installation.

bartoll commented 4 years ago

I will do it tomorrow because now I am on Linux, and I have this computer with Windows in the office.

bartoll commented 4 years ago

@davividal I have installed 'eventmachine' plugin firstly and then try to install 'landrush'. As I said it tries to install older version of 'eventmachine' and then returns error as below. That's why I suppose that it is a problem with 'landrush'. Can you help?

C:\Users\Bartek\Vagrants\vm1>"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" --version
6.0.14r133895

C:\Users\Bartek\Vagrants\vm1>vagrant -v
Vagrant 2.2.6

C:\Users\Bartek\Vagrants\vm1>systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362

C:\Users\Bartek\Vagrants\vm1>vagrant plugin list
vagrant-host-shell (0.0.4, global)
vagrant-hostsupdater (1.1.1.160, global)
vagrant-vbguest (0.22.1, global)

C:\Users\Bartek\Vagrants\vm1>vagrant plugin install eventmachine
Installing the 'eventmachine' plugin. This can take a few minutes...
Fetching: eventmachine-1.2.7-x64-mingw32.gem (100%)
Successfully uninstalled filelock-1.1.1
Successfully uninstalled landrush-ip-0.2.5
Installed the plugin 'eventmachine (1.2.7)'!

C:\Users\Bartek\Vagrants\vm1>vagrant plugin list
eventmachine (1.2.7, global)
vagrant-host-shell (0.0.4, global)
vagrant-hostsupdater (1.1.1.160, global)
vagrant-vbguest (0.22.1, global)

C:\Users\Bartek\Vagrants\vm1>vagrant plugin install landrush
Installing the 'landrush' plugin. This can take a few minutes...
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: C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1/ext
C:/HashiCorp/Vagrant/embedded/mingw64/bin/ruby.exe -r ./siteconf20191218-104-rm0lc1.rb extconf.rb
checking for -lssleay32... no
checking for -lssleay32... no
checking for -lssleay32... no
checking for -lssleay32... no
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for pipe2() in unistd.h... no
checking for accept4() in sys/socket.h... no
checking for SOCK_CLOEXEC in sys/socket.h... no
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for windows.h... yes
checking for winsock.h... yes
checking for -lkernel32... yes
checking for -lrpcrt4... yes
checking for -lgdi32... yes
checking for clock_gettime()... yes
checking for CLOCK_MONOTONIC_RAW in time.h... no
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result -Wno-address
creating Makefile

current directory: C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1/ext
make "DESTDIR=" clean

current directory: C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1/ext
make "DESTDIR="

make failed, uncaught signal 11

Gem files will remain installed in C:/Users/Bartek/.vagrant.d/gems/2.4.9/gems/eventmachine-1.0.9.1 for inspection.
Results logged to C:/Users/Bartek/.vagrant.d/gems/2.4.9/extensions/x64-mingw32/2.4.0/eventmachine-1.0.9.1/gem_make.out

C:\Users\Bartek\Vagrants\vm1>
davividal commented 4 years ago

@bartoll what if you try to manually install the older eventmachine version? Also, did you check for issues at https://github.com/eventmachine/eventmachine ?

bartoll commented 4 years ago

@davividal if i try to install older 'eventmachine' version installation and got the same error. I understand that I should ask for help on in this project issue, but newest version of 'eventmachine' works great. So i am going to stick in discovering this problem in 'landrush'. Do you know where I am able to change the dependency version of plugin?

davividal commented 4 years ago

@bartoll eventmachine is a dependency of rubydns: https://github.com/socketry/rubydns/blob/v0.8.5/rubydns.gemspec#L33

One possible solution would be upgrading rubydns by solving https://github.com/vagrant-landrush/landrush/issues/312 . I began some exploratory work on landrush to upgrade rubydns, but I had to stop due to lack of time and lack of need.

bartoll commented 4 years ago

@davividal And which version do you use of landrush, vagrant, virtualbox in your Windows 10? You wrote that you have working set :D

davividal commented 4 years ago
PS C:\> vagrant --version
Vagrant 2.2.3
PS C:\> vagrant plugin list
landrush (1.3.1, global)
vagrant-hostmanager (1.8.9, global)
vagrant-vbguest (0.20.0, global)
PS C:\> & 'C:\Program Files\Oracle\VirtualBox\VBoxManage.exe' --version
5.2.18r124319
spocky commented 4 years ago

I took time to test different versions of vagrant. The latest working version on Windows is 2.2.4 (tested with landrush 1.3.2).

dmi3mis commented 4 years ago

I confirm that landrush is not working for me too

C:\ vagrant --version Vagrant 2.2.9 C:\ vagrant plugin list No plugins installed. C:> "c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" --version 6.1.8r137981

I downgrade vagrant and as dependant virtualbox to C:> vagrant --version Vagrant 2.2.4 C:> vagrant plugin list landrush (1.3.2, global) vagrant-hostmanager (1.8.9, global) vagrant-sshfs (1.3.4, global) C:> "c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" --version 6.0.22r137980

now it seems to me it working.

hngeno commented 3 years ago

This is what worked for me:

I got the same error when doing a landrush plugin install using Vagrant 2.2.10. This was the default download on Vagrant website. Struggled with it for a while, trying out many things I found on google search. I checked the list of all versions on Vagrant website and found the latest was Vagrant 2.2.13. I downloaded that one, uninstalled Vagrant 2.2.10 and installed Vagrant 2.2.13. Then tried to install landrush plugin again; this worked.

graememeyer commented 3 years ago

I had a ton of these issues and some seemingly related issues installing landrush on WSL2, and eventually solved it by installing the "build-essentials" tools from apt. It seems that installing landrush requires both gcc and make, neither of which are included in Ubuntu on WSL2.

So:

sudo apt-get install build-essential

Should do it.