tmm1 / amqp

AMQP client implementation in Ruby/EventMachine
http://groups.google.com/group/ruby-amqp
444 stars 5 forks source link

Solaris: pr_eventmachine.rb:381:in `stop': not running (EventMachine::Error) #7

Closed charl closed 14 years ago

charl commented 14 years ago

I get the following errors when tryinf to utilise any code that uses the worker pattern as used in prime.rb on Solaris 10:

$ ./primes.rb 2 /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:381:in stop': not running (EventMachine::Error) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:73:instop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:451:in stop_event_loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:306:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:in``' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:ingenerate' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:284:in install_oneshot_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:59:inadd_oneshot_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:356:in add_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:237:inrun' /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:381:in stop': not running (EventMachine::Error) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:73:instop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:451:in stop_event_loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:306:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:in``' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:107:infork' from ./primes.rb:17 from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:in generate' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:284:ininstall_oneshot_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:59:in add_oneshot_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:356:inadd_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:237:in run' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:instart' from ./primes.rb:39 /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:381:in stop': not running (EventMachine::Error) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:73:instop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:451:in stop_event_loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:306:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:in``' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:244:ingenerate' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:284:in install_oneshot_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:59:inadd_oneshot_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:356:in add_timer' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:237:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:107:in fork' from ./primes.rb:17 ["poller01-20260-577800", :started] /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:infork': undefined method call' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in event_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:inrun_timers' from (eval):44:in each' from (eval):44:ineach' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:in run_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in select' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incrank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:instart' from ./primes.rb:39 ["poller01-20279-577800", :started] /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:in fork': undefined methodcall' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:inevent_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:in run_timers' from (eval):44:ineach' from (eval):44:in each' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:inrun_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:inselect' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in crank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:in start' from ./primes.rb:39 /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:infork': undefined method call' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in event_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:inrun_timers' from (eval):44:in each' from (eval):44:ineach' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:in run_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in select' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incrank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:instart' from ./primes.rb:39 /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:in fork': undefined methodcall' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:inevent_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:in run_timers' from (eval):44:ineach' from (eval):44:in each' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:inrun_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:inselect' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in crank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:in start' from ./primes.rb:39 /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:infork': undefined method call' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in event_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:inrun_timers' from (eval):44:in each' from (eval):44:ineach' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:in run_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in select' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incrank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:instart' from ./primes.rb:39 /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:in fork': undefined methodcall' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:inevent_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:in run_timers' from (eval):44:ineach' from (eval):44:in each' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:inrun_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:inselect' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in crank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:in start' from ./primes.rb:39 /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:infork': undefined method call' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in event_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:inrun_timers' from (eval):44:in each' from (eval):44:ineach' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:in run_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in select' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incrank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:instart' from ./primes.rb:39 [:checking, 10000] [:checking, 10001] /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:in fork': undefined methodcall' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in call' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:inevent_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:in run_timers' from (eval):44:ineach' from (eval):44:in each' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:inrun_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:intimes' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in fork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp/client.rb:115:in call' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp/client.rb:115:inreceive_data' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1506:in event_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:550:ineventable_read' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:548:in times' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:548:ineventable_read' from (FORWARDABLE):3:in __send__' from (__FORWARDABLE__):3:ineventable_read' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:369:in crank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:369:ineach' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:369:in crank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:in start' from ./primes.rb:39 ["prime checker poller01-20279-577800", :prime?, 10000] ["prime checker poller01-20279-577800", :prime?, 10001] /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:40:infork': undefined method call' for nil:NilClass (NoMethodError) from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:1503:in event_callback' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:342:inrun_timers' from (eval):44:in each' from (eval):44:ineach' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:339:in run_timers' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:322:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in loop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:in run_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:inrun' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:310:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:infork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:304:in fork_reactor' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:33:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:in times' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:32:infork' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/ext/emfork.rb:18:in fork' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incall' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:in select' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:366:incrank_selectables' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:324:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:inloop' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:318:in run' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/pr_eventmachine.rb:64:inrun_machine' from /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/eventmachine.rb:242:in run' from /usr/local/lib/ruby/gems/1.8/gems/tmm1-amqp-0.6.4/lib/amqp.rb:84:instart' from ./primes.rb:39 [:prime?, 10000, false] [:prime?, 10001, false] [:primes=, nil]

The source:


#!/usr/bin/env ruby

require 'rubygems'
require 'mq'

# check MAX numbers for prime-ness
MAX = 2

# logging
def log *args
  p args
end

# spawn workers
workers = ARGV[0] ? (Integer(ARGV[0]) rescue 1) : 1
AMQP.fork(workers) do

  log MQ.id, :started

  class Fixnum
    def prime?
      ('1' * self) !~ /^1?$|^(11+?)\1+$/
    end
  end

  class PrimeChecker
    def is_prime? number
      log "prime checker #{MQ.id}", :prime?, number
      number.prime?
    end
  end

  MQ.rpc('prime checker', PrimeChecker.new)

end

# use workers to check which numbers are prime
AMQP.start(:host => 'localhost') do

  prime_checker = MQ.rpc('prime checker')

  (10_000...(10_000+MAX)).each do |num|
    log :checking, num

    prime_checker.is_prime?(num) { |is_prime|
      log :prime?, num, is_prime
      (@primes||=[]) << num if is_prime

      if (@responses = (@responses || 0) + 1) == MAX
        log :primes=, @primes
        EM.stop_event_loop
      end
    }
  end
end

This same script works fine on both OS X and Linux.

tmm1 commented 14 years ago

How did you install eventmachine? It did not install correctly, and is trying to use the pure ruby reactor.

charl commented 14 years ago

Via the gem:


$ ls -la eventmachine-0.12.8.gem 
-rw------- 1 cmatthee other 214528 Oct 15 09:16 eventmachine-0.12.8.gem
$ md5sum eventmachine-0.12.8.gem
379f839bd32ee2ada63a2d4ba5e978e3  eventmachine-0.12.8.gem
tmm1 commented 14 years ago

Can you paste the output of gem install? Also what happens if you go into /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/ and type make? Can you also pastie.org the mkmf.log file in that directory?

charl commented 14 years ago

Gem install output: http://pastie.org/657064

Manual make:


$ cd /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/ 
$ pwd
/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8
$ make
make: *** No targets specified and no makefile found.  Stop.

Make logs: http://pastie.org/657072

tmm1 commented 14 years ago

interesting. what happens if you ruby -e' require "/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine" '

charl commented 14 years ago

$ ruby -e' require "/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine" '
/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine.so: ld.so.1: ruby: fatal: relocation error: file /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine.so: symbol _ZNSs4_Rep20_S_empty_rep_storageE: referenced symbol not found - /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine.so (LoadError)
        from -e:1
$ ruby -v
ruby 1.8.7 (2008-06-20 patchlevel 22) [sparc-solaris2.10]
$ gem --version
1.3.5
$ uname -a
SunOS poller01 5.10 Generic_137111-02 sun4u sparc SUNW,Sun-Fire-V440 Solaris
tmm1 commented 14 years ago

g++ -version ?

charl commented 14 years ago

$ g++ -v
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6
charl commented 14 years ago

$ g++ -dumpspecs -dumpversion -dumpmachine
*asm:
%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu) 

*asm_debug:

*asm_final:

*asm_options:
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}

*invoke_as:
%{!S:-o %|.s |
 as %(asm_options) %|.s %A }

*cpp:
%(cpp_cpu) %(cpp_arch) %(cpp_endian) %(cpp_subtarget)

*cpp_options:
%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} %{f*} %{g*:%{!g0:%{!fno-working-directory:-fworking-directory}}} %{O*} %{undef}

*cpp_debug_options:
%{d*}

*cpp_unique_options:
%{C|CC:%{!E:%eGCC does not support -C or -CC without -E}} %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}

*trad_capable_cpp:
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}

*cc1:
%{sun4:} %{target:} %{mcypress:-mcpu=cypress} %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} %{m32:%{m64:%emay not use both -m32 and -m64}} %{m64:-mptr64 -mstack-bias -mno-v8plus   %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8*:%{!msupersparc:-mcpu=v9}}}}}}}} 

*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*}

*cc1plus:

*link_gcc_c_sequence:
%G %L %G %L

*endfile:
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}    crtend.o%s crtn.o%s

*link:
%{h*} %{v:-V}    %{b} %{Wl,*:%*}    %{static:-dn -Bstatic}    %{shared:-G -dy %{!mimpure-text:-z text}}    %{symbolic:-Bsymbolic -G -dy -z text}    %(link_arch)    %{Qy:} %{!Qn:-Qy}

*lib:
%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio}    %{!shared:     %{!symbolic:       %{pthreads:-lpthread}        %{!pthreads:%{threads:-lthread}}        %{p|pg:-ldl} -lc}}

*libgcc:
%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:-lgcc_s%M}}}

*startfile:
%{!shared:                       %{!symbolic:                     %{p:mcrt1.o%s}                           %{!p:                            %{pg:gcrt1.o%s gmon.o%s}                             %{!pg:crt1.o%s}}}}                     crti.o%s %(startfile_arch)                      crtbegin.o%s

*switches_need_spaces:

*cross_compile:
0

*version:
3.4.6

*multilib:
. !m32 !m64;sparcv7:. m32 !m64;sparcv9:sparcv9 !m32 m64;

*multilib_defaults:
m32

*multilib_extra:

*multilib_matches:
m32 m32;m64 m64;

*multilib_exclusions:

*multilib_options:
m32/m64

*linker:
collect2

*link_libgcc:
%D

*md_exec_prefix:
/usr/ccs/bin/

*md_startfile_prefix:
/usr/ccs/lib/

*md_startfile_prefix_1:

*startfile_prefix_spec:

*sysroot_suffix_spec:

*sysroot_hdrs_suffix_spec:

*cpp_cpu:
%{mcypress:} %{msparclite|mf930|mf934:-D__sparclite__} %{mv8:%{!m64:-D__sparcv8}} %{msupersparc:-D__supersparc__ %{!m64:-D__sparcv8}} %{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} %{mcpu=sparclite|mcpu-f930|mcpu=f934:-D__sparclite__} %{mcpu=v8:%{!m64:-D__sparcv8}} %{mcpu=supersparc:-D__supersparc__ %{!m64:-D__sparcv8}} %{mcpu=v9|mcpu=ultrasparc|mcpu=ultrasparc3:%{!m64:-D__sparcv8}} %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} 

*cpp_cpu_default:
%{m64:} %{!m64:} 

*cpp_arch32:

*cpp_arch64:
-D__arch64__ -D__sparcv9

*cpp_arch_default:

*cpp_arch:
%{m32:%(cpp_arch32)} %{m64:%(cpp_arch64)} %{!m32:%{!m64:%(cpp_arch_default)}} 

*cpp_endian:
%{mlittle-endian:-D__LITTLE_ENDIAN__} %{mlittle-endian-data:-D__LITTLE_ENDIAN_DATA__}

*cpp_subtarget:
%{pthreads:-D_REENTRANT -D_PTHREADS} %{!pthreads:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}} %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude} 

*asm_cpu:
%{mcpu=v9:%{!m64:-xarch=v8plus}%{m64:-xarch=v9}} %{mcpu=ultrasparc:%{!m64:-xarch=v8plusa}%{m64:-xarch=v9a}} %{mcpu=ultrasparc3:%{!m64:-xarch=v8plusb}%{m64:-xarch=v9b}} %{!mcpu=ultrasparc3:%{!mcpu=ultrasparc:%{!mcpu=v9:%{mcpu*:%{!m64:-xarch=v8}%{m64:-xarch=v9}}}}} %{!mcpu*:%(asm_cpu_default)} 

*asm_cpu_default:
%{m64:-xarch=v9} %{!m64:} 

*asm_arch32:

*asm_arch64:

*asm_relax:

*asm_arch_default:

*asm_arch:

*startfile_arch:
%{ansi:values-Xc.o%s}                       %{!ansi:values-Xa.o%s}

*link_arch32:
%{G:-G}    %{YP,*}    %{R*}    %{compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}}              -R /usr/ucblib}    %{!compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}

*link_arch64:
%{mcmodel=medlow:-M /usr/lib/ld/sparcv9/map.below4G}    %{G:-G}    %{YP,*}    %{R*}    %{compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9}        %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}}      -R /usr/ucblib/sparcv9}    %{!compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9}        %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}

*link_arch_default:
%{G:-G}    %{YP,*}    %{R*}    %{compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}}              -R /usr/ucblib}    %{!compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}

*link_arch:
%{m32:%(link_arch32)} %{m64:%(link_arch64)} %{!m32:%{!m64:%(link_arch_default)}} 

*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) %l %{pie:} %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}    %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}    %{static:} %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate:-lgcov}    %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}    %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}
tmm1 commented 14 years ago

Interesting.. any chance you can update gcc? Can you try editing the makefile so it links with -lstdc++ and see if that fixes the missing symbol?

charl commented 14 years ago

Unfortunately I cannot update gcc (this is the latest version available from sunfreeware.com for this platform). Which file would you like me to edit specifically? There's no Makefile so I presume it must be something that forms part of the ruby makefile generation subsystem.

charl commented 14 years ago

if I clone the git project and try to build it manually I get he following output: http://pastie.org/659872

tmm1 commented 14 years ago

Alright can you try the following:

git clone git://github.com/eventmachine/eventmachine.git cd eventmachine wget http://pastie.org/659901.txt patch -p1 < 659901.txt cd ext ruby extconf.rb make ruby -I. -e' require "rubyeventmachine" '

I think this will cause the _ZNSs4_Rep20_S_empty_rep_storageE error from before. If so, can you try:

rm rubyeventmachine.so make LOCAL_LIBS="-lstdc++" ruby -I. -e' require "rubyeventmachine" '

charl commented 14 years ago

The first make fails with the following: http://pastie.org/660136

rubyeventmachine.so was never created but I did also try the second make with the environment variable and that also failed in a similar way (as can be seen in the same pastie).

tmm1 commented 14 years ago

Ok, try this new patch instead:

cd eventmachine/ext git checkout . wget http://pastie.org/660173.txt patch -p1 < 660173.txt ruby extconf.rb make ruby -I. -e' require "rubyeventmachine" '

and if that doesn't work:

rm rubyeventmachine.so make LOCAL_LIBS="-lstdc++" ruby -I. -e' require "rubyeventmachine" '

charl commented 14 years ago

The patch seemed to do the trick and everything builds fine and I can require rubyeventmachine.so without any issues.

The machine in question must have some deeper problems though as I am unable now to install (gem install just hangs without any output even when I specify -V) certain gems (tmm1-amqp) while others (snmp, rake, etc.) install without a hitch.

I'll have to get to the botom of this first before I am able to once again run the primes.rb test to confirm everything is operation on this platform.

Thanks for your help so far.

tmm1 commented 14 years ago

Ok, so rubyeventmachine worked even without the LOCAL_LIBS, or was that required? I'll update the gem accordingly.

charl commented 14 years ago

That's correct, LOCAL_LIBS was not required.

I have fixed the issue mentioned (stupid sudo/proxy environment variable bug) and the prime.rb test and my own service based on eventmachine/amqp is working perfectly.

charl commented 14 years ago

Thanks again for all the help.

tmm1 commented 14 years ago

Sounds like latest em gem worked.

charl commented 14 years ago

Correct.