Issue #7221 has been updated by mame (Yusuke Endoh).


I checked the discussion of github.

I think the problem here is why f.gets fails.
The proposed patch is NOT acceptable; it just hides the real problem by returning a *bogus* result.

So, could you please tell us how to reproduce the issue?
I tried to repro by "gem install kgio" but it succeeded:

  $ ~/work/local/bin/gem install kgio
  Building native extensions.  This could take a while...
  Successfully installed kgio-2.7.4
  1 gem installed
  Installing ri documentation for kgio-2.7.4...
  Installing RDoc documentation for kgio-2.7.4...

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Bug #7221: Unable to compile kgio under 1.9.3 with error: ruby-1.9.3-<plvl>/lib/ruby/1.9.1/mkmf.rb:597:in `Integer': can't convert nil into Integer (TypeError)
https://bugs.ruby-lang.org/issues/7221#change-31984

Author: davidderyldowney (David Deryl Downey)
Status: Feedback
Priority: Normal
Assignee: 
Category: 
Target version: 1.9.3
ruby -v: ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-darwin12.2.0]


The kgio gem is unable to be compiled under 1.9.3-p286. The problem is the same as reported here: https://github.com/wayneeseguin/rvm/issues/1157, specifically the same issue is seen under ruby-1.9.3-p194 as reported here at https://github.com/wayneeseguin/rvm/issues/1157#issuecomment-9045588 

The actual error is: 

ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:597:in `Integer': can't convert nil into Integer (TypeError)

If L597 of mkmf.rb is modified to say: 

return Integer((v=f.gets) ? v : 0 )

then the problem instantly goes away.


-- 
http://bugs.ruby-lang.org/