rubymotion-community / Joybox

Cocos2D & Box2D Wrapper for Ruby Motion - Currently out of date an unmaintained :-(
MIT License
280 stars 37 forks source link

Joybox project doesn't work with sugarcube, I'm getting a stack level too deep error #10

Closed bastos closed 11 years ago

bastos commented 11 years ago

Hi, I'm getting this error:

|⇒ rake  --trace
** Invoke default (first_time)
** Invoke simulator (first_time)
** Invoke build:simulator (first_time)
** Execute build:simulator
rake aborted!
stack level too deep
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:188
Tasks: TOP => default => simulator => build:simulator

But If I remove sugarcube from my Gemfile the build works well.

Gemfile:

source 'https://rubygems.org'

ruby "2.0.0"

gem 'rake'
gem 'teacup'
gem 'formotion'
gem 'bubble-wrap', :require => 'bubble-wrap/core'
gem 'sugarcube'
gem 'motion-cocoapods', :git => 'git://github.com/HipByte/motion-cocoapods.git', :tag => '1.3.0.rc1'
gem 'joybox', :git => 'git://github.com/rubymotion/Joybox.git'

Rakefile:

# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project'

require 'bundler'
require 'rubygems'
Bundler.setup
Bundler.require

require 'motion-cocoapods'

Motion::Project::App.setup do |app|
  app.name = 'globe'
end
NSCoder commented 11 years ago

Thanks for the report!

If you use the regular gem instead of the one in the repository it works? I just want to make sure is not only the version in the repository.

Also can you help me putting this line in your rake file to see if it works?

app.detect_dependencies = false

I will try to reproduced and find a proper solution ;)

bastos commented 11 years ago

Using the regular gem is not working as well.

Using app.detect_dependencies = false with the regular gem compiles but I get an error:

(main)> 2013-04-29 13:18:29.736 globe[35625:c07] uninitialized constant Joybox (NameError)
2013-04-29 13:18:29.743 globe[35625:c07] *** Terminating app due to uncaught exception 'NameError', reason: 'uninitialized constant Joybox (NameError)
'
*** First throw call stack:
(0x2ec7012 0xc41e7e 0x53cbf4 0x89362 0x88085)
libc++abi.dylib: terminate called throwing an exception
((null))> rake aborted!
Command failed with status (1): [DYLD_FRAMEWORK_PATH="/Applications/Xcode.a...]
/Library/RubyMotion/lib/motion/project.rb:102:in `block in <top (required)>'
Tasks: TOP => default => simulator

Using app.detect_dependencies = false with the repository's code compiles, but I also get an error:

** Invoke default (first_time)
** Invoke simulator (first_time)
** Invoke build:simulator (first_time)
** Execute build:simulator
** Execute simulator
DYLD_FRAMEWORK_PATH="/Applications/Xcode.app/Contents/Developer/../Frameworks":"/Applications/Xcode.app/Contents/Developer/../OtherFrameworks" /Library/RubyMotion/bin/sim 2 1 6.1 "/Applications/Xcode.app/Contents/Developer" "./build/iPhoneSimulator-6.1-Development/globe.app"
2013-04-29 13:28:06.699 globe[38661:c07] uninitialized constant Joybox (NameError)
2013-04-29 13:28:06.702 globe[38661:c07] *** Terminating app due to uncaught exception 'NameError', reason: 'uninitialized constant Joybox (NameError)
'
*** First throw call stack:
(0x2f06012 0xc80e7e 0x556574 0x88f92 0x87c3d)
libc++abi.dylib: terminate called throwing an exception
((null))> rake aborted!
Command failed with status (1): [DYLD_FRAMEWORK_PATH="/Applications/Xcode.a...]
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `call'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `sh'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:in `sh'
/Library/RubyMotion/lib/motion/project.rb:102:in `block in <top (required)>'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:205:in `block in invoke_prerequisites'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:203:in `each'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:203:in `invoke_prerequisites'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:183:in `block in invoke_with_call_chain'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/usr/local/var/rbenv/versions/2.0.0-p0/bin/rake:23:in `load'
/usr/local/var/rbenv/versions/2.0.0-p0/bin/rake:23:in `<main>'
Tasks: TOP => default => simulator
NSCoder commented 11 years ago

Hey! I found the problem, its actually related to the latest version of bubble wrap:

https://groups.google.com/forum/?fromgroups=#!searchin/rubymotion/stack$20level$20too$20deep/rubymotion/Dh7uhfszZJs/dYB2sexqsW4J

You only need to change this in your gem file:

gem 'bubble-wrap', '1.1.5', :require => 'bubble-wrap/core'

That will make it work! :D

bastos commented 11 years ago

It works!

Thanks