From: hobart+rubybugs201604@... Date: 2016-04-19T21:07:59+00:00 Subject: [ruby-core:75030] [Ruby trunk Bug#12284] io-console gem >= 0.4.3 breaks on Windows ruby < 2.2.0 due to needing rb_sym2str Issue #12284 has been updated by Jon Bailey. The new gem appears to have installed without problems, thank you! Will rubygems pick it up when the version number is next bumped? ~~~ PS C:\test-gem> gem environment RubyGems Environment: - RUBYGEMS VERSION: 2.2.5 - RUBY VERSION: 2.1.8 (2015-12-16 patchlevel 440) [x64-mingw32] - INSTALLATION DIRECTORY: C:/Ruby21-x64/lib/ruby/gems/2.1.0 - RUBY EXECUTABLE: C:/Ruby21-x64/bin/ruby.exe - EXECUTABLE DIRECTORY: C:/Ruby21-x64/bin - SPEC CACHE DIRECTORY: C:/Users/passp/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x64-mingw32 - GEM PATHS: - C:/Ruby21-x64/lib/ruby/gems/2.1.0 - C:/Users/passp/.gem/ruby/2.1.0 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - C:\DevKit-mingw64-64-4.7.2-20130224-1432\bin - C:\DevKit-mingw64-64-4.7.2-20130224-1432\mingw\bin - C:\Ruby21-x64\bin - C:\WINDOWS\system32 - C:\WINDOWS - C:\WINDOWS\System32\Wbem - C:\WINDOWS\System32\WindowsPowerShell\v1.0\ - C:\Program Files\SysinternalsSuite PS C:\test-gem> gem install --local --verbose io-console C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/io-console-0.4.6/console.c C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/io-console-0.4.6/depend C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/io-console-0.4.6/extconf.rb C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/io-console-0.4.6/lib/console/size.rb C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/io-console-0.4.6/win32_vk.inc Building native extensions. This could take a while... C:/Ruby21-x64/bin/ruby.exe extconf.rb checking for rb_funcallv()... yes checking for rb_sym2str()... no creating Makefile make "DESTDIR=" clean make "DESTDIR=" generating console-x64-mingw32.def compiling console.c linking shared-object io/console.so make "DESTDIR=" install /usr/bin/install -c -m 0755 console.so ./.gem.20160419-3528-1r28flb/io installing default console libraries Successfully installed io-console-0.4.6 Parsing documentation for io-console-0.4.6 Parsing sources... 100% [ 8/ 8] lib/io/console/size.rb Installing ri documentation for io-console-0.4.6 Done installing documentation for io-console after 0 seconds 1 gem installed PS C:\test-gem> ~~~ ---------------------------------------- Bug #12284: io-console gem >= 0.4.3 breaks on Windows ruby < 2.2.0 due to needing rb_sym2str https://bugs.ruby-lang.org/issues/12284#change-58156 * Author: Jon Bailey * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mingw32] * Backport: 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED ---------------------------------------- Ruby 2.1.x users (on Windows) who do "gem update" and try to build io-console 0.4.3 or later fail at link-time. rb_sym2str was first used in console.c in r50427 rb_sym2str was implemented in ruby 2.20 Excerpt of build failure: `current directory: C:/rubytest/ruby-2.1.8-x64-mingw32/lib/ruby/gems/2.1.0/gems/io-console-0.4.5 make "DESTDIR=" generating console-x64-mingw32.def compiling console.c console.c: In function 'console_key_pressed_p': console.c:722:6: warning: implicit declaration of function 'rb_sym2str' [-Wimplicit-function-declaration] linking shared-object io/console.so console.o: In function `` ` ``console_key_pressed_p': C:\rubytest\ruby-2.1.8-x64-mingw32\lib\ruby\gems\2.1.0\gems\io-console-0.4.5/console.c:722: undefined reference to `` ` ``rb_sym2str' collect2.exe: error: ld returned 1 exit status make: *** [console.so] Error 1` ---Files-------------------------------- ruby-issue-12284-proposed.patch (526 Bytes) io-console-0.4.6.gem (21 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: