From: "davidderyldowney (David Deryl Downey)" Date: 2012-11-21T08:10:02+09:00 Subject: [ruby-core:49780] [ruby-trunk - Bug #7221] Unable to compile kgio under 1.9.3 with error: ruby-1.9.3-/lib/ruby/1.9.1/mkmf.rb:597:in `Integer': can't convert nil into Integer (TypeError) Issue #7221 has been updated by davidderyldowney (David Deryl Downey). mame sorry again for the delay. lots of stuff going on IRL. I am back to setting L597 in ruby-1.9.3-p286/lib/ruby/1.9.1/mkmf.rb to return Integer(f.gets) and attempted a reinstall of kgio v2.7.4 and it works just fine. I was able before to consistently demonstrate the problem, however I no longer am able. I am running ruby-1.9.3-p286 with the falcon patch only, which does not touch that line of code that I can see. The suggested fix was to change the line to: return Integer((f.gets) ? v : 0 ) whch I obviously do not have. So I'm unsure what the issue actually is, or why kgio is suddenly working. As per your request, I'm including what I currently have for the mkmf.rb file in question. Its currently online at https://gist.github.com/f687c94fc9df125bb437 Anything else I can provide, let me know. ---------------------------------------- Bug #7221: Unable to compile kgio under 1.9.3 with error: ruby-1.9.3-/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-33362 Author: davidderyldowney (David Deryl Downey) Status: Feedback Priority: Normal Assignee: mame (Yusuke Endoh) 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/