Today I updated my ruby core clone, and I run the usual steps to compile ruby. When running "make", I run into the following error:
(... stuff ...) encdb.h unchanged Traceback (most recent call last): 5: from ./tool/mkconfig.rb:19:in `<main>' 4: from ./tool/mkconfig.rb:19:in `require' 3: from /home/deivid/Code/ruby/lib/fileutils.rb:4:in `<top (required)>' 2: from /home/deivid/Code/ruby/lib/fileutils.rb:4:in `require' 1: from /home/deivid/Code/ruby/rbconfig.rb:11:in `<top (required)>' /home/deivid/Code/ruby/rbconfig.rb:13:in `<module:RbConfig>': ruby lib version (2.5.0) doesn't match executable version (2.6.0) (RuntimeError) uncommon.mk:780: recipe for target '.rbconfig.time' failed make: *** [.rbconfig.time] Error 1
Apparently, the script that generates the root rbconfig.rb file requires fileutils, which in turn requires 'rbconfig' (for mjit-headers it says in a comment), which uses the rbconfig.rb config file in the root folder if it exists. In my case, this file existed but had been generated on 2.5.0, thus causing the error.
I think we can avoid this sort of circular dependency by not requiring fileutils, since it does not seem to be used anywhere in the tool/mkconfig.rb script since r55338.
Remove unnecessary require of fileutils
Today I updated my ruby core clone, and I run the usual steps to compile
ruby. When running "make", I run into the following error:
Apparently, the script that generates the root
rbconfig.rbfile requiresfileutils, which in turn requires 'rbconfig' (for mjit-headers it says in acomment), which uses the
rbconfig.rbconfig file in the root folder if itexists. In my case, this file existed but had been generated on 2.5.0, thus
causing the error.
I think we can avoid this sort of circular dependency by not requiring
fileutils, since it does not seem to be used anywhere in thetool/mkconfig.rbscript since r55338.[Fix GH-2045]
From: David RodrÃguez deivid.rodriguez@riseup.net
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e