Closed zbrad closed 9 years ago
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.
Confirming the issue with Ruby 2.2.1 x64.
Apparently, rb_thread_blocking_region
is removed in Ruby 2.2
This is how ruby-gnome2 solved it: https://github.com/ruby-gnome2/ruby-gnome2/commit/c92a046cfe266cedbd59a40b31cfc9ea6e8ab300
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 https://github.com/ruby-gnome2/ruby-gnome2/commit/c92a046cfe266cedbd59a40b31cfc9ea6e8ab300
— Reply to this email directly or view it on GitHub https://github.com/Maher4Ever/wdm/issues/18#issuecomment-78140768.
Same problem here. However, I noted that pull request #16 already contains commit 9f91e656e79a03eb03989455ad4fa1ed55de7e3f 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.
Well, we need that specific patch merged upstream because wdm
is published on Rubygems and using a fork isn't the same.
how do we "encourage" the acceptance of the patch?
I guess our only hope is the maintainers of this gem to see the notifications...
/CC @Maher4Ever
@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
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.
installing wdm yields the same problem for me, that the original poster described. (ruby 2.2.2p95 (2015-04-13 revision 50295) [i386-mingw32])
And i can confirm that this branch/commit: https://github.com/HaiderRazvi/wdm/commit/078116f865684602d3402e810b5a544a5244d4f2 installs just fine.
@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.
@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.
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
+1
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.
:+1:
@Maher4Ever sounds good, thanks!
@Maher4Ever thanks! :heart:
WDM v0.1.1 has been released and pushed to rubygems. Thanks to @lowjoel for the fix.
confirmed to work on ruby 2.1.5 32bit and ruby 2.2.2 32bit on windows! Thanks!
also in ruby 2.2.2 x64, great!
also work on ruby 2.7.4 [x64-mingw32]
Ruby v.3.3.2 (2024-05-30 revision e5a195edf6) Gem v.3.5.9 Bundler v.2.5.11
Not working.
gem install wdm
Result:
Temporarily enhancing PATH for MSYS/MINGW... Building native extensions. This could take a while... ERROR: Error installing wdm: ERROR: Failed to build gem native extension.
current directory: C:/Users/USER/.local/share/gem/ruby/3.3.0/gems/wdm-0.1.1/ext/wdm
D:/program-files/Ruby33-x64/bin/ruby.exe extconf.rb checking for -lkernel32... yes checking for windows.h... yes checking for ruby.h... yes checking for HAVE_RUBY_ENCODING_H... yes checking for rb_thread_call_without_gvl()... yes creating Makefile
current directory: C:/Users/USER/.local/share/gem/ruby/3.3.0/gems/wdm-0.1.1/ext/wdm make DESTDIR\= sitearchdir\=./.gem.20240608-31772-us681e sitelibdir\=./.gem.20240608-31772-us681e clean
current directory: C:/Users/USER/.local/share/gem/ruby/3.3.0/gems/wdm-0.1.1/ext/wdm make DESTDIR\= sitearchdir\=./.gem.20240608-31772-us681e sitelibdir\=./.gem.20240608-31772-us681e generating wdm_ext-x64-mingw-ucrt.def compiling entry.c compiling memory.c compiling monitor.c compiling queue.c compiling rb_change.c rb_change.c: In function 'extract_absolute_path_from_notification': rb_change.c:139:5: warning: 'RB_OBJ_TAINT' is deprecated: taintedness turned out to be a wrong idea. [-Wdeprecated-declarations] 139 | OBJ_TAINT(path); | ^
~~~~ In file included from D:/program-files/Ruby33-x64/include/ruby-3.3.0/ruby/internal/core/rstring.h:30, from D:/program-files/Ruby33-x64/include/ruby-3.3.0/ruby/internal/arithmetic/char.h:29, from D:/program-files/Ruby33-x64/include/ruby-3.3.0/ruby/internal/arithmetic.h:24, from D:/program-files/Ruby33-x64/include/ruby-3.3.0/ruby/ruby.h:28, from D:/program-files/Ruby33-x64/include/ruby-3.3.0/ruby.h:38, from wdm.h:22, from rb_change.c:4: D:/program-files/Ruby33-x64/include/ruby-3.3.0/ruby/internal/fl_type.h:824:1: note: declared here 824 | RB_OBJ_TAINT(VALUE obj) | ^~~~ compiling rb_monitor.c rb_monitor.c: In function 'rb_monitor_run_bang': rb_monitor.c:509:29: error: implicit declaration of function 'rb_thread_call_without_gvl' [-Wimplicit-function-declaration] 509 | waiting_succeeded = rb_thread_call_without_gvl(wait_for_changes, monitor->process_event, stop_monitoring, monitor); | ^~~~~~make: *** [Makefile:248: rb_monitor.o] Error 1make failed, exit code 2
Gem files will remain installed in C:/Users/USER/.local/share/gem/ruby/3.3.0/gems/wdm-0.1.1 for inspection. Results logged to C:/Users/USER/.local/share/gem/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/wdm-0.1.1/gem_make.out
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.
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]