berkshelf / vagrant-berkshelf

A Vagrant plugin to add Berkshelf integration to the Chef provisioners
Other
379 stars 100 forks source link

Windows - libgecode issue #171

Closed bdwyertech closed 10 years ago

bdwyertech commented 10 years ago

Anyone got a solution for this one Windows? Vagrant-berkshelf 2.0.0.rc2 seems to be having an issue building the gecode library.

Windows 8.1 x64, Vagrant 1.5.2, clean install

In file included from ./gecode/support/thread.hpp:264:0, from ./gecode/support.hh:130, from gecode/support/thread/pthreads.cpp:38: ./gecode/support/thread/pthreads.hpp: In static member function 'static void Gecode::Support::Thread::sleep(unsigned int )': ./gecode/support/thread/pthreads.hpp:125:7: error: '::sleep' has not been declared ./gecode/support/thread/pthreads.hpp: In static member function 'static unsigned int Gecode::Support::Thread::npu()': ./gecode/support/thread/pthreads.hpp:133:36: error: '_SC_NPROCESSORS_ONLN' was not declared in this scope ./gecode/support/thread/pthreads.hpp:133:56: error: 'sysconf' was not declared in this scope ./gecode/support/thread/pthreads.hpp: In static member function 'static void Gecode::Support::Thread::sleep(unsigned int )':

sethvargo commented 10 years ago

We are working on a Windows solution /cc @danielsdeleo

danielsdeleo commented 10 years ago

Windows works for me using 1.0.0.rc.0 of dep-selector with Ruby 1.9.3 windows devkit. You need to have a working tar on the system (the chef MSI has one). Can you try a gem install of dep selector gem install dep_selector --pre and let me know if it works?

danielsdeleo commented 10 years ago

Also, the solve library is still locked to dep_selector 1.0.0.alpha.2, so that will have to be bumped. But the manual install will be helpful for me to know if there are any other issues that don't occur in my environment.

reset commented 10 years ago

@danielsdeleo released 1.0.0.rc3 of Solve to ensure we're on rc0 of dep_selector

danielsdeleo commented 10 years ago

@reset excellent, thanks

eltismerino commented 10 years ago

https://github.com/opscode/dep-selector-libgecode/issues/6

bdwyertech commented 10 years ago

Looks like this could fix it. https://github.com/opscode/dep-selector-libgecode/pull/7

bgaillard commented 10 years ago

Hi, i'm trying to install libgeocode on Windows 8.1 but encounter errors too.

I first tried to install geocode using the following commands :

C:\dev_tools\Sources\workspace\quipo-cookbook>gem install solve --pre
Successfully installed solve-1.0.0.rc3
1 gem installed
Installing ri documentation for solve-1.0.0.rc3...
Building YARD (yri) index for solve-1.0.0.rc3...
Installing RDoc documentation for solve-1.0.0.rc3...

C:\dev_tools\Sources\workspace\quipo-cookbook>gem install dep_selector --pre
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed dep_selector-1.0.0.rc.0
1 gem installed
Installing ri documentation for dep_selector-1.0.0.rc.0...
Building YARD (yri) index for dep_selector-1.0.0.rc.0...
Installing RDoc documentation for dep_selector-1.0.0.rc.0...

C:\dev_tools\Sources\workspace\quipo-cookbook>vagrant plugin install vagrant-berkshelf --plugin-version 2.0.0.rc3
Installing the 'vagrant-berkshelf --version '2.0.0.rc3'' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing dep-selector-libgecode (1.0.0.rc.0), and Bundler cannot continue.
Make sure that `gem install dep-selector-libgecode -v '1.0.0.rc.0'` succeeds before bundling.

Perhaps I was not careful enough because typing where ruby and ruby -v displays this :

C:\Users\bouba>where ruby
C:\opscode\chef\embedded\bin\ruby.exe
C:\Ruby193\bin\ruby.exe

C:\Users\bouba>ruby -v
ruby 1.9.3p484 (2013-11-22) [i386-mingw32]

But the last Vagrant version seems to embed an other Ruby version in the C:\HashiCorp\Vagrant\embedded\bin directory by default, this Ruby version is a 2.X.

So we have to be careful when we try to install Vagrant Berkshelf (now I can reproduce the same error as @bdwyertech too).

In my case calling vagrant plugin install vagrant-berkshelf --plugin-version 2.0.0.rc3 did not use the Ruby executable which is inside the Windows PATH variable but the one which is provided with Vagrant.

So to reproduce the problem I first had to modify my Windows PATH variable :

set PATH=C:\HashiCorp\Vagrant\embedded\bin;%PATH%
gem install dep_selector --pre
Fetching: ffi-1.9.3-x86-mingw32.gem (100%)
Successfully installed ffi-1.9.3-x86-mingw32
Fetching: dep-selector-libgecode-1.0.0.rc.0.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing dep_selector:
        ERROR: Failed to build gem native extension.

    C:/HashiCorp/Vagrant/embedded/bin/ruby.exe extconf.rb
checking for the host operating system... Windows
...
In file included from ./gecode/support/thread.hpp:264:0,
                 from ./gecode/support.hh:130,
                 from gecode/support/exception.cpp:38:
./gecode/support/thread/pthreads.hpp: In static member function 'static void Gecode::Support::Thread::sleep(unsigned int)':
./gecode/support/thread/pthreads.hpp:125:7: error: '::sleep' has not been declared
./gecode/support/thread/pthreads.hpp: In static member function 'static unsigned int Gecode::Support::Thread::npu()':
./gecode/support/thread/pthreads.hpp:133:36: error: '_SC_NPROCESSORS_ONLN' was not declared in this scope
./gecode/support/thread/pthreads.hpp:133:56: error: 'sysconf' was not declared in this scope
In file included from ./gecode/support/thread.hpp:264:0,
                 from ./gecode/support.hh:130,
                 from gecode/support/heap.cpp:38:
...

Hope this helps.

Also is this error important too ?

ERROR:  Error installing dep_selector:
        ERROR: Failed to build gem native extension.

    C:/HashiCorp/Vagrant/embedded/bin/ruby.exe extconf.rb
danielsdeleo commented 10 years ago

I've released 1.0.0.rc.1 of dep-selector-libgecode, which works on my test system using ruby 2.0.0 and mingw.

bgaillard commented 10 years ago

@danielsdeleo :+1: :+1: Thanks, the compilation worked for me.

I'm not lucky today, now when I'm trying to start Vagrant with vagrant up I have an other error, do you know what is the problem ?

C:\dev_tools\Sources\workspace\quipo-cookbook>vagrant up
Vagrant failed to initialize at a very early stage:

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

Could not open library 'C:/Users/bouba/.vagrant.d/gems/gems/dep_selector-1.0.0.rc.0/lib/dep_gecode.so':
bgaillard commented 10 years ago

Forgot to mention that the file C:/Users/bouba/.vagrant.d/gems/gems/dep_selector-1.0.0.rc.0/lib/dep_gecode.so exists.

Full error reported is :

...
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.

Could not open library 'C:/Users/bouba/.vagrant.d/gems/gems/dep_selector-1.0.0.rc.1/lib/dep_gecode.so': Le module sp?cifi? est introuvable.
>
ERROR vagrant: The plugins failed to load properly. The error message given is
shown below.

Could not open library 'C:/Users/bouba/.vagrant.d/gems/gems/dep_selector-1.0.0.rc.1/lib/dep_gecode.so': Le module sp?cifi? est introuvable.

ERROR vagrant: C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant.rb:264:in `rescue in <top (required)>'
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant.rb:260:in `<top (required)>'
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.5.2/bin/vagrant:95:in `require'
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.5.2/bin/vagrant:95:in `<main>'
Vagrant failed to initialize at a very early stage:

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

Could not open library 'C:/Users/bouba/.vagrant.d/gems/gems/dep_selector-1.0.0.rc.1/lib/dep_gecode.so': Le module sp?cifi? est introuvable.
eltismerino commented 10 years ago

https://github.com/opscode/dep-selector-libgecode/issues/6#issuecomment-40148260

eltismerino commented 10 years ago

I've got the same issue on my Windows 8.1 machine (not on my Windows 7 machine at home): https://github.com/opscode/dep-selector/issues/17

chimericdream commented 10 years ago

Not sure whether the other thread or this one is the right place to put my comment, but since it's been a few days without response in the other thread I will put a note here as well. I'm having issues on Win8.1 as well.

https://github.com/opscode/dep-selector-libgecode/issues/6#issuecomment-44189363