[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

From: hobart+rubybugs201604@...
Date: 2016-04-19 21:07:59 UTC
List: ruby-core #75030
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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next