Project

General

Profile

Actions

Bug #7541

closed

Can't use Ruby 2.0.0 as as BASERUBY

Added by vo.x (Vit Ondruch) over 11 years ago. Updated over 6 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 2.0.0dev (2012-12-04 trunk 38184) [x86_64-linux]
[ruby-core:50736]

Description

=begin

I am trying to prepare source archive using

tool/make-snapshot tmp

With Ruby 2.0.0 rev38184 as as BASERUBY, however with no luck:

snip

...

extracting ripper.y from ../../parse.y
ruby ../../tool/id2token.rb --vpath=../.. id.h ../../parse.y > ripper.tmp.y
ruby ./tools/preproc.rb ripper.tmp.y --output=ripper.y
rm -f ripper.tmp.y
compiling compiler ripper.y
bison -t -v -oy.tab.c ripper.y
sed -f ../../tool/ytab.sed -e "/^#/s!y.tab.c!ripper.c!" y.tab.c > ripper.c
generating eventids1.c from ../../parse.y
ruby ./tools/generate.rb --mode=eventids1 --ids1src=../../parse.y --output=eventids1.c
generating eventids2table.c from ./eventids2.c
ruby ./tools/generate.rb --mode=eventids2table --ids2src=./eventids2.c --output=eventids2table.c
make[1]: Leaving directory /tmp/ruby-snapshot20121210-11545-1p4tbw0/ruby-2.0.0-r38296/ext/ripper' generating miniprelude.c ruby -I. ./tool/compile_prelude.rb ./prelude.rb miniprelude.c /usr/share/rubygems/rubygems/defaults.rb:43:in join': can't convert nil into String (TypeError)
from /usr/share/rubygems/rubygems/defaults.rb:43:in default_dir' from /usr/share/rubygems/rubygems/specification.rb:621:in default_specifications_dir'
from /usr/share/rubygems/rubygems/specification.rb:637:in each_default' from /usr/share/rubygems/rubygems/specification.rb:678:in load_defaults'
from /usr/share/rubygems/rubygems.rb:1088:in <top (required)>' from <internal:gem_prelude>:1:in require'
from internal:gem_prelude:1:in `'
make: *** [miniprelude.c] Error 1
prerequisites failed

It seems that the ruby -I. ./tool/compile_prelude.rb ./prelude.rb miniprelude.c command is executed from the temporary directory with fresh sources. However, since there is added current directory '.' into the load path, the rbconfig.rb available there gets precedence instead of the rbconfig.rb of BASERUBY. Unfortunately, that rbconfig.rb contains just some rubbish.

The attached patch might fix the issue, but I am not sure what it breaks, since the original commit message introducing this flag (r14271) is not overly descriptive :/


Files

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0