Incompatible marshal file format
/home/hemanth/.rvm/gems/ruby-1.9.2-p290/gems/rubywarrior-0.1.3/lib/ruby_warrior/profile.rb:31:in `load': incompatible marshal file format (can't be read) (TypeError)
format version 4.8 required; 254.154 given
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/gems/rubywarrior-0.1.3/lib/ruby_warrior/profile.rb:31:in `decode'
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/gems/rubywarrior-0.1.3/lib/ruby_warrior/profile.rb:35:in `load'
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/gems/rubywarrior-0.1.3/lib/ruby_warrior/game.rb:8:in `start'
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/gems/rubywarrior-0.1.3/lib/ruby_warrior/runner.rb:17:in `run'
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/gems/rubywarrior-0.1.3/bin/rubywarrior:5:in `<top (required)>'
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/bin/rubywarrior:19:in `load'
from /home/hemanth/.rvm/gems/ruby-1.9.2-p290/bin/rubywarrior:19:in `<main>'
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
$ uname -a
Linux hemanth-OptiPlex-755 2.6.35-32-generic #65-Ubuntu SMP Tue Jan 24 13:48:14 UTC 2012 i686 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
I have the same issue:
/home/seele/.rbenv/versions/1.9.2-p320/lib/ruby/gems/1.9.1/gems/rubywarrior-0.1.3/lib/ruby_warrior/profile.rb:31:in `load': incompatible marshal file format (can't be read) (TypeError)
format version 4.8 required; 166.186 given
from /home/seele/.rbenv/versions/1.9.2-p320/lib/ruby/gems/1.9.1/gems/rubywarrior-0.1.3/lib/ruby_warrior/profile.rb:31:in `decode'
from /home/seele/.rbenv/versions/1.9.2-p320/lib/ruby/gems/1.9.1/gems/rubywarrior-0.1.3/lib/ruby_warrior/profile.rb:35:in `load'
from /home/seele/.rbenv/versions/1.9.2-p320/lib/ruby/gems/1.9.1/gems/rubywarrior-0.1.3/lib/ruby_warrior/game.rb:8:in `start'
from /home/seele/.rbenv/versions/1.9.2-p320/lib/ruby/gems/1.9.1/gems/rubywarrior-0.1.3/lib/ruby_warrior/runner.rb:17:in `run'
from /home/seele/.rbenv/versions/1.9.2-p320/lib/ruby/gems/1.9.1/gems/rubywarrior-0.1.3/bin/rubywarrior:5:in `<top (required)>'
from /home/seele/.rbenv/versions/1.9.2-p320/bin/rubywarrior:23:in `load'
from /home/seele/.rbenv/versions/1.9.2-p320/bin/rubywarrior:23:in `<main>'
System Info:
$ ruby -v
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]
$ gem --version
1.8.23
$ gem list rubywarrior
*** LOCAL GEMS ***
rubywarrior (0.1.3)
$ uname -srvmpio
Linux 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
The error message means that that the object was not serialized; otherwise, the first two bytes would be the format version. For the record, I have the same issue using ruby 1.8.7-p352 and 1.9.2-p290.
This is probably a duplicate of #35 (which I never got around to writing a patch for as I intended to).
ruby-warrior looks for a file named .profile by default, which of course, when called in the home directory, is ordinarily a shell profile and not actually a ruby-warrior profile.
Ouch! So is it .rwprofile or .rw_profile now? Better way could ~/rw/.profile ??
At the moment neither - I'll actually write that pull request one of these days though, and I think .rw_profile would be better.
If you call ruby-warrior in a directory it will look for the profile there, rather than in your home directory, so if you create an ~/rw directory then that will work in the meanwhile.