during rake: undefined method `rake_system' for #<Object:0xb7cae95c> #113

Closed
philtomson opened this Issue Dec 6, 2009 · 7 comments

Comments

Projects
None yet
3 participants
@philtomson

Platform:

Linux tiny 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:24 UTC 2009 i686 GNU/Linux
(Ubuntu 9.04)Linux tiny 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:24 UTC 2009 i686 GNU/Linux
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

Ran with --trace:
undefined method rake_system' for #<Object:0xb7c5a94c> /home/phil/devel/ruby/rubinius/rakelib/ext_helper.rb:215:inqsh'
/home/phil/devel/ruby/rubinius/lib/ext/melbourne/Rakefile:9
/usr/lib/ruby/1.8/rake.rb:544:in call' /usr/lib/ruby/1.8/rake.rb:544:inexecute'
/usr/lib/ruby/1.8/rake.rb:541:in each' /usr/lib/ruby/1.8/rake.rb:541:inexecute'
/usr/lib/ruby/1.8/rake.rb:508:in invoke_with_call_chain' /usr/lib/ruby/1.8/rake.rb:501:insynchronize'
/usr/lib/ruby/1.8/rake.rb:501:in invoke_with_call_chain' /usr/lib/ruby/1.8/rake.rb:518:ininvoke_prerequisites'
/usr/lib/ruby/1.8/rake.rb:1183:in each' /usr/lib/ruby/1.8/rake.rb:1183:insend'
/usr/lib/ruby/1.8/rake.rb:1183:in each' /usr/lib/ruby/1.8/rake.rb:515:ininvoke_prerequisites'
/usr/lib/ruby/1.8/rake.rb:507:in invoke_with_call_chain' /usr/lib/ruby/1.8/rake.rb:501:insynchronize'
/usr/lib/ruby/1.8/rake.rb:501:in invoke_with_call_chain' /usr/lib/ruby/1.8/rake.rb:518:ininvoke_prerequisites'
/usr/lib/ruby/1.8/rake.rb:1183:in each' /usr/lib/ruby/1.8/rake.rb:1183:insend'
/usr/lib/ruby/1.8/rake.rb:1183:in each' /usr/lib/ruby/1.8/rake.rb:515:ininvoke_prerequisites'
/usr/lib/ruby/1.8/rake.rb:507:in invoke_with_call_chain' /usr/lib/ruby/1.8/rake.rb:501:insynchronize'
/usr/lib/ruby/1.8/rake.rb:501:in invoke_with_call_chain' /usr/lib/ruby/1.8/rake.rb:494:ininvoke'
/usr/lib/ruby/1.8/rake.rb:1931:in invoke_task' /usr/lib/ruby/1.8/rake.rb:1909:intop_level'
/usr/lib/ruby/1.8/rake.rb:1909:in each' /usr/lib/ruby/1.8/rake.rb:1909:intop_level'
/usr/lib/ruby/1.8/rake.rb:1948:in standard_exception_handling' /usr/lib/ruby/1.8/rake.rb:1903:intop_level'
/usr/lib/ruby/1.8/rake.rb:1881:in run' /usr/lib/ruby/1.8/rake.rb:1948:instandard_exception_handling'
/usr/lib/ruby/1.8/rake.rb:1878:in `run'
/usr/bin/rake:28
rake aborted!

@brixen

This comment has been minimized.

Show comment Hide comment
@brixen

brixen Dec 6, 2009

Owner

Could you paste 'rake --version', please.

Owner

brixen commented Dec 6, 2009

Could you paste 'rake --version', please.

@philtomson

This comment has been minimized.

Show comment Hide comment
@philtomson

philtomson Dec 6, 2009

rake, version 0.8.7

rake, version 0.8.7

@philtomson

This comment has been minimized.

Show comment Hide comment
@philtomson

philtomson Dec 6, 2009

BTW: earlier I had been using rake, version 0.8.1 and had the same problem.

BTW: earlier I had been using rake, version 0.8.1 and had the same problem.

@rue

This comment has been minimized.

Show comment Hide comment
@rue

rue Dec 6, 2009

Member

Can you try this change and see if it gets you further? It looks like something might still be off because here it works with and without, and #qsh does seem to be getting invoked (a Ruby version problem?), but:

diff --git a/rakelib/ext_helper.rb b/rakelib/ext_helper.rb
index 45e53ca..927901e 100644
--- a/rakelib/ext_helper.rb
+++ b/rakelib/ext_helper.rb
@@ -212,7 +212,7 @@ end
def qsh(cmd)
   cmd << " > /dev/null 2>&1" unless $verbose
   puts cmd if $verbose
-  unless result = rake_system(cmd)
+  unless result = RakeFileUtils.send(:rake_system, cmd)
     fail "Command failed with status (#{$?.exitstatus}): [#{cmd}]"
   end
   result
Member

rue commented Dec 6, 2009

Can you try this change and see if it gets you further? It looks like something might still be off because here it works with and without, and #qsh does seem to be getting invoked (a Ruby version problem?), but:

diff --git a/rakelib/ext_helper.rb b/rakelib/ext_helper.rb
index 45e53ca..927901e 100644
--- a/rakelib/ext_helper.rb
+++ b/rakelib/ext_helper.rb
@@ -212,7 +212,7 @@ end
def qsh(cmd)
   cmd << " > /dev/null 2>&1" unless $verbose
   puts cmd if $verbose
-  unless result = rake_system(cmd)
+  unless result = RakeFileUtils.send(:rake_system, cmd)
     fail "Command failed with status (#{$?.exitstatus}): [#{cmd}]"
   end
   result
@brixen

This comment has been minimized.

Show comment Hide comment
@brixen

brixen Dec 6, 2009

Owner

Well drat, I have a vbox install of 9.04 with exactly the same uname line, same ruby version, rake 0.8.7 and rubygems 1.3.5... and I cannot repro this.

The fact that #rake_system is made private in the FileUtils module should not be an issue, since FileUtils is include'd into RakeFileUtils and RakeFileUtils is included at script-level/top-level. Further #rake_system is called without a receiver.

Phil: try that patch and let me know if it works. I'd really like to understand what is actually going on. Could you do some debugging? One of the issues we often hit with the rakelib/*.rake files is the different order in which they are required because the ordering of files in a listing is non-deterministic on Linux but sorted on OS X.

Owner

brixen commented Dec 6, 2009

Well drat, I have a vbox install of 9.04 with exactly the same uname line, same ruby version, rake 0.8.7 and rubygems 1.3.5... and I cannot repro this.

The fact that #rake_system is made private in the FileUtils module should not be an issue, since FileUtils is include'd into RakeFileUtils and RakeFileUtils is included at script-level/top-level. Further #rake_system is called without a receiver.

Phil: try that patch and let me know if it works. I'd really like to understand what is actually going on. Could you do some debugging? One of the issues we often hit with the rakelib/*.rake files is the different order in which they are required because the ordering of files in a listing is non-deterministic on Linux but sorted on OS X.

@philtomson

This comment has been minimized.

Show comment Hide comment
@philtomson

philtomson Dec 7, 2009

OK, I found the problem. Ubuntu has a pretty old rake 0.8.1. I had installed the new 0.8.7 rake via gems but I hadn't re-run configure. So now it's getting past this particular error.

OK, I found the problem. Ubuntu has a pretty old rake 0.8.1. I had installed the new 0.8.7 rake via gems but I hadn't re-run configure. So now it's getting past this particular error.

@brixen

This comment has been minimized.

Show comment Hide comment
@brixen

brixen Dec 7, 2009

Owner

Good to hear Phil, please open a new ticket if the clean build doesn't get you past the next error.

Owner

brixen commented Dec 7, 2009

Good to hear Phil, please open a new ticket if the clean build doesn't get you past the next error.

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment