currently failing "gem install wdm" on a windows 8.1 x64 box #18

Closed
zbrad opened this Issue Mar 6, 2015 · 23 comments

Projects

None yet
@zbrad
zbrad commented Mar 6, 2015

C:\RubyDevKit>gem install wdm
Fetching: wdm-0.1.0.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing wdm:
ERROR: Failed to build gem native extension.

C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150305-12120-9ufct9.rb extconf.rb

checking for main() in -lkernel32... yes
checking for windows.h... yes
checking for ruby.h... yes
checking for HAVE_RUBY_ENCODING_H... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
generating wdm_ext-x64-mingw32.def
compiling entry.c
In file included from entry.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdio.h:9,
from wdm.h:1,
from entry.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from entry.c:1:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from entry.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
compiling memory.c
In file included from memory.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdio.h:9,
from wdm.h:1,
from memory.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from memory.c:1:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from memory.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
compiling monitor.c
In file included from monitor.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdio.h:9,
from wdm.h:1,
from monitor.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from monitor.c:1:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from monitor.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
compiling queue.c
In file included from queue.c:3:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/vadefs.h:13:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/_mingw_stdarg.h:14,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdarg.h:140,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/include/stdarg.h:1,
from queue.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from queue.c:3:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from queue.c:3:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
compiling rb_change.c
In file included from rb_change.c:4:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdlib.h:9,
from rb_change.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from rb_change.c:4:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from rb_change.c:4:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
compiling rb_monitor.c
In file included from rb_monitor.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdio.h:9,
from wdm.h:1,
from rb_monitor.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from rb_monitor.c:1:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from rb_monitor.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
rb_monitor.c: In function 'rb_monitor_run_bang':
rb_monitor.c:508:9: warning: implicit declaration of function 'rb_thread_blockin
g_region' [-Wimplicit-function-declaration]
compiling utils.c
In file included from utils.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdio.h:9,
from wdm.h:1,
from utils.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from utils.c:1:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from utils.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
compiling wdm.c
In file included from wdm.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/crtdefs.h:10:0,
from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.
2/../../../../x86_64-w64-mingw32/include/stdio.h:9,
from wdm.h:1,
from wdm.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/_mingw.h:248:0: note: this is the location of the previous de
finition
In file included from wdm.c:1:0:
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
:0:0: note: this is the location of the previous definition
In file included from c:/Ruby22-x64/include/ruby-2.2.0/ruby/win32.h:38:0,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/defines.h:163,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby/ruby.h:29,
from c:/Ruby22-x64/include/ruby-2.2.0/ruby.h:33,
from wdm.h:12,
from wdm.c:1:
c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w
64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h
before windows.h [-Wcpp]
linking shared-object wdm_ext.so
rb_monitor.o: In function rb_monitor_run_bang': C:\Ruby22-x64\lib\ruby\gems\2.2.0\gems\wdm-0.1.0\ext\wdm/rb_monitor.c:508: undef ined reference torb_thread_blocking_region'
collect2.exe: error: ld returned 1 exit status
make: *** [wdm_ext.so] Error 1

make failed, exit code 2

Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/wdm-0.
1.0 for inspection.
Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0
/wdm-0.1.0/gem_make.out

@cwa821
cwa821 commented Mar 7, 2015

I got this same error after upgrading my ruby installation to 2.2.1 using ruby installer on windows 8.1 64. I didn't get the error with ruby 2.0.0. Hope this helps.

@XhmikosR
XhmikosR commented Mar 9, 2015

Confirming the issue with Ruby 2.2.1 x64.

Apparently, rb_thread_blocking_region is removed in Ruby 2.2

@jmthomas

This is how ruby-gnome2 solved it: ruby-gnome2/ruby-gnome2@c92a046

@XhmikosR

The thing is that won doesn't seem to be actively developed atm. .. Though
a PR would be a first step, that's for sure.
On Mar 10, 2015 10:27 PM, "Jason Thomas" notifications@github.com wrote:

This is how ruby-gnome2 solved it: ruby-gnome2/ruby-gnome2@c92a046
ruby-gnome2/ruby-gnome2@c92a046


Reply to this email directly or view it on GitHub
#18 (comment).

@Toxaris
Toxaris commented Mar 12, 2015

Same problem here. However, I noted that pull request #16 already contains commit 9f91e65 which looks like it should fix this problem.

edit: I indeed managed to install a version of the wdm gem as follows:

git clone https://github.com/lowjoel/wdm
cd wdm
gem build wdm.gemspec
gem install wdm-0.1.0.gem

I'm new to Ruby, so I don't know whether that's the best way to do things. Also, be careful to check the current contents of the https://github.com/lowjoel/wdm repository before doing this, obviously :)

edit: changed git pull to git clone as pointed out by @germanattanasio below.

@XhmikosR

Well, we need that specific patch merged upstream because wdm is published on Rubygems and using a fork isn't the same.

@zbrad
zbrad commented Mar 23, 2015

how do we "encourage" the acceptance of the patch?

@XhmikosR

I guess our only hope is the maintainers of this gem to see the notifications...

/CC @Maher4Ever

@germanattanasio

@Toxaris, you have a typo in your instructions pull should be clone

git clone https://github.com/lowjoel/wdm
cd wdm
gem build wdm.gemspec
gem install wdm-0.1.0.gem
@vike27
vike27 commented Apr 25, 2015

I'm running into this problem:

$ bundle install
DL is deprecated, please use Fiddle
Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies.....
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.2
Using minitest 5.6.0
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.2.1
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile 0.6.2
Using nokogiri 1.6.6.2
Using rails-deprecated_sanitizer 1.0.3
Using rails-dom-testing 1.0.6
Using loofah 2.0.1
Using rails-html-sanitizer 1.0.2
Using actionview 4.2.1
Using rack 1.6.0
Using rack-test 0.6.3
Using actionpack 4.2.1
Using globalid 0.3.5
Using activejob 4.2.1
Using mime-types 2.5
Using mail 2.6.3
Using actionmailer 4.2.1
Using activemodel 4.2.1
Using arel 6.0.0
Using activerecord 4.2.1
Using debug_inspector 0.0.2
Using binding_of_caller 0.7.2
Using bundler 1.9.4
Using columnize 0.9.0
Using byebug 4.0.5
Using xpath 2.0.0
Using capybara 2.4.4
Using hitimes 1.2.2
Using timers 4.0.1
Using celluloid 0.16.0
Using coderay 1.1.0
Using coffee-script-source 1.9.1.1
Using execjs 2.5.2
Using coffee-script 2.4.1
Using thor 0.19.1
Using railties 4.2.1
Using coffee-rails 4.1.0
Using diff-lcs 1.2.5
Using ffi 1.9.8
Using formatador 0.2.5
Using rb-fsevent 0.9.4
Using rb-inotify 0.9.5
Using listen 2.10.0
Using lumberjack 1.0.9
Using nenv 0.2.0
Using shellany 0.0.1
Using notiffany 0.0.6
Using method_source 0.8.2
Using slop 3.6.0
Using win32console 1.3.2
Using pry 0.10.1
Using guard 2.12.5
Using guard-compat 1.2.1
Using rspec-support 3.2.2
Using rspec-core 3.2.3
Using rspec-expectations 3.2.1
Using rspec-mocks 3.2.1
Using rspec 3.2.0
Using guard-rspec 4.5.0
Using multi_json 1.11.0
Using jbuilder 2.2.13
Using jquery-rails 4.0.3
Using sprockets 3.0.2
Using sprockets-rails 2.2.4
Using rails 4.2.1
Using rdoc 4.2.0
Using rspec-rails 3.2.1
Using sass 3.4.13
Using tilt 1.4.1
Using sass-rails 5.0.3
Using sdoc 0.4.1
Using sqlite3 1.3.10
Using turbolinks 2.5.3
Using tzinfo-data 1.2015.4
Using uglifier 2.7.1

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

c:/RailsInstaller/Ruby2.1.0/bin/ruby.exe -r ./siteconf20150425-10244-tjzt35.rb extconf.rb

extconf failed, uncaught signal 11

Gem files will remain installed in c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/wdm-0.1.0 for inspection.
Results logged to c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/extensions/x86-mingw32/2.1.0/wdm-0.1.0/gem_make.out
An error occurred while installing wdm (0.1.0), and Bundler cannot continue.
Make sure that gem install wdm -v '0.1.0' succeeds before bundling.

@ccoenen
Contributor
ccoenen commented Apr 28, 2015

installing wdm yields the same problem for me, that the original poster described.
(ruby 2.2.2p95 (2015-04-13 revision 50295) [i386-mingw32])

@ccoenen
Contributor
ccoenen commented Apr 28, 2015

And i can confirm that this branch/commit: HaiderRazvi@078116f installs just fine.

@scarl3tt

@Maher4Ever - this issue has been resolved by a few different forks.
The implementation below seems good, and the same author submitted a PR here almost a year ago to patch another issue. I'm sure many would appreciate the fix; Joel in particular seems up for active development, so if you're not interested, you might consider passing ownership of the gem to him.

https://github.com/lowjoel/wdm

@jmthomas

@Maher4Ever has had no contributions in the last year. Thus we run into the classic open source problem: the original author and gem owner has lost interest. The listen gem and others all refer to wdm so obviously it would be nice to maintain the name. Perhaps @lowjoel (he seems active) or someone else on this thread can register wdm2 on rubygems and we can all move on with the new name.

@GeekinaCave

OK; for the people like me who got problems for using wdm on ruby 2.2.x, i found the way to repacked the fix into a *.gem for local installation. At least until this fix will be merged into the original gem:

https://github.com/ABCDIY/wdm.gem_for_Ruby_2.2.X

Regards

@twhitbeck

+1

@Maher4Ever
Owner

Hello everyone,

First of all, apologies for neglecting this project for so long. It's been a busy couple of years for me which prevented me from keeping up with the issues. Currently I'm having some small problems with my development environment, but as soon as that's resolved I'll start fixing your issues and releasing an update. My thanks to everyone who has helped other users and who contributed with bug fixes so far. Stay tuned.

@lowjoel
Contributor
lowjoel commented Jul 7, 2015

👍

@PlanetoftheMapes

@Maher4Ever sounds good, thanks!

@ccoenen
Contributor
ccoenen commented Jul 8, 2015

@Maher4Ever thanks! ❤️

@Maher4Ever
Owner

WDM v0.1.1 has been released and pushed to rubygems. Thanks to @lowjoel for the fix.

@Maher4Ever Maher4Ever closed this Jul 9, 2015
@ccoenen
Contributor
ccoenen commented Jul 10, 2015

confirmed to work on ruby 2.1.5 32bit and ruby 2.2.2 32bit on windows! Thanks!

@GeekinaCave

also in ruby 2.2.2 x64, great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment