[MacRuby-devel] [MacRuby] #448: macirb fails to start on 32-bit arch (undefined method `bind' for IRB::SLex:Class)

MacRuby ruby-noreply at macosforge.org
Sun Nov 22 17:18:40 PST 2009


#448: macirb fails to start on 32-bit arch (undefined method `bind' for
IRB::SLex:Class)
-----------------------------------+----------------------------------------
 Reporter:  logan@…                |       Owner:  lsansonetti@…        
     Type:  defect                 |      Status:  new                  
 Priority:  blocker                |   Milestone:  MacRuby 0.5          
Component:  MacRuby                |    Keywords:                       
-----------------------------------+----------------------------------------
 From e-mail exchange:
 Hi Logan,

 Looks like a 32-bit only issue.

 $ arch -i386 macirb
 /usr/local/bin/macirb:in `<main>': undefined method `bind' for
 IRB::SLex:Class (NoMethodError)

 Could you file a ticket on Trac about this? This way we won't forget.

 Thanks,
 Laurent

 On Nov 22, 2009, at 3:53 PM, Logan Bowers wrote:

 Hello,

 I just downloaded and installed 0.5b2, however macirb fails to start; I
 get the following:

 bender:~ logan$ macirb
 /usr/local/bin/macirb:in `<main>': undefined method `bind' for
 IRB::SLex:Class (NoMethodError)
 bender:~ logan$

 After doing a little digging, the culprit appears to be in e2mmap.rb:

 module Exception2MessageMapper
 @RCS_ID='-$Id: e2mmap.rb,v 1.10 1999/02/17 12:33:17 keiju Exp keiju $-'

 E2MM = Exception2MessageMapper

 def E2MM.extend_object(cl)
   super
   STDERR.puts("About to bind on #{cl.inspect}") # <---Line I added for
 debugging
   cl.bind(self) unless cl < E2MM  # <--- Exception is raised here!
 end

 def bind(cl)
   self.module_eval %[
     def Raise(err = nil, *rest)
  Exception2MessageMapper.Raise(self.class, err, *rest)
     end
     alias Fail Raise

     def self.included(mod)
  mod.extend Exception2MessageMapper
     end
   ]
 end

 With the debugging line above, I see:

 bender:~ logan$ macirb
 About to bind on IRB::Notifier
 About to bind on IRB::SLex
 /usr/local/bin/macirb:in `<main>': undefined method `bind' for
 IRB::SLex:Class (NoMethodError)
 bender:~ logan$

 Given that the 'bind' method is defined 3 lines later, I can't see why the
 call would succeed for IRB::Notifier and not for IRB::SLex.  Any ideas on
 what's going on?  FWIW, I'm running SL on a 32-bit machine.  Thanks!


 Logan Bowers

 _______________________________________________
 MacRuby-devel mailing list
 MacRuby-devel at lists.macosforge.org
 http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

 _______________________________________________
 MacRuby-devel mailing list
 MacRuby-devel at lists.macosforge.org
 http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/448>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list