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)

Added by David Deryl Downey over 1 year ago. Updated 11 months ago.

[ruby-core:48413]
Status:Rejected
Priority:Normal
Assignee:Yusuke Endoh
Category:-
Target version:next minor
ruby -v:ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-darwin12.2.0] Backport:

Description

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.

History

#1 Updated by Yusuke Endoh over 1 year ago

  • Status changed from Open to Feedback

Could you show us a small example of extconf.rb to reproduce this issue?

Yusuke Endoh mame@tsg.ne.jp

#2 Updated by Yusuke Endoh over 1 year ago

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

#3 Updated by David Deryl Downey over 1 year ago

OK, I changed the line back to the original return Integer(f.gets) and attempted a reinstall of kgio under 1.9.3-p286.

The output from the build is still: ruby-1.9.3-p286/lib/ruby/1.9.1/mkmf.rb:597:in `Integer': can't convert nil into Integer (TypeError)

The entire contents of kgio's (v2.7.4) extconf.rb is gist here at: https://gist.github.com/08ae8fef33b610c44e6c All 53 lines of it.

Anything else I can do please let me know. Sorry for the slow replies, IRL is a bugger hehe.

#4 Updated by Yusuke Endoh over 1 year ago

  • Assignee set to Yusuke Endoh

Thank you. In addition, could you show us mkmf.log?

Yusuke Endoh mame@tsg.ne.jp

#5 Updated by David Deryl Downey over 1 year ago

My apologies Yusuke. I've been working hard as of late. I never noticed the email. Please give me another day or two to get the info to you, I have to intentionally break the system again in order to regenerate all the logs and information you want.

#6 Updated by Yusuke Endoh over 1 year ago

David, busy?

Yusuke Endoh mame@tsg.ne.jp

#7 Updated by David Deryl Downey over 1 year ago

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.

#8 Updated by Yui NARUSE about 1 year ago

  • Target version changed from 1.9.3 to next minor

#9 Updated by Yusuke Endoh 11 months ago

  • Status changed from Feedback to Rejected

Sorry for late reply.

Anyway it is difficult to fix a bug if no one reproduces it.
I'm marking this ticket closed. Please reopen this if you could repro. Thanks.

Yusuke Endoh mame@tsg.ne.jp

Also available in: Atom PDF