Project

General

Profile

Actions

Bug #12284

closed

io-console gem >= 0.4.3 breaks on Windows ruby < 2.2.0 due to needing rb_sym2str

Bug #12284: io-console gem >= 0.4.3 breaks on Windows ruby < 2.2.0 due to needing rb_sym2str

Added by hobart (Jon Bailey) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mingw32]
[ruby-core:74953]

Description

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) ruby-issue-12284-proposed.patch Change required_ruby_version to 2.2.0 in io-console.gemspec hobart (Jon Bailey), 04/14/2016 09:20 PM
io-console-0.4.6.gem (21 KB) io-console-0.4.6.gem nobu (Nobuyoshi Nakada), 04/15/2016 07:07 AM

Updated by nobu (Nobuyoshi Nakada) over 9 years ago Actions #2

  • Status changed from Open to Closed

Applied in changeset r54587.


io/console: rb_sym2str

Updated by nobu (Nobuyoshi Nakada) over 9 years ago Actions #3 [ruby-core:74960]

I can't push the new gem to rubygems.org.
Could you try the attached file?

Updated by hobart (Jon Bailey) over 9 years ago Actions #4 [ruby-core:75030]

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> 

Updated by hsbt (Hiroshi SHIBATA) over 9 years ago Actions #5 [ruby-core:75031]

Note:

rubygems prevents to ship to default gem now.

see. https://github.com/rubygems/rubygems.org/pull/1221

Actions

Also available in: PDF Atom