[#50466] [ruby-trunk - Bug #7492][Open] Segmentation fault at DL::TestDL#test_call_double on x64 Windows 8 — "phasis68 (Heesob Park)" <phasis@...>

23 messages 2012/12/02

[#50558] [ruby-trunk - Feature #7511][Open] short-circuiting logical implication operator — "rits (First Last)" <redmine@...>

12 messages 2012/12/04

[#50575] [ruby-trunk - Feature #7517][Open] Fixnum::MIN,MAX — "matz (Yukihiro Matsumoto)" <matz@...>

20 messages 2012/12/05

[#50755] Becoming a committer — Charlie Somerville <charlie@...>

Hi ruby-core,

21 messages 2012/12/11
[#50759] Re: Becoming a committer — Yukihiro Matsumoto <matz@...> 2012/12/11

Hi,

[#50784] Re: Becoming a committer — Charles Oliver Nutter <headius@...> 2012/12/11

It's really this easy? If so, I'll send over my public key today :)

[#50795] Re: Becoming a committer — Yukihiro Matsumoto <matz@...> 2012/12/11

Hi,

[#50806] [ruby-trunk - Feature #7548][Open] Load and Require Callbacks — "trans (Thomas Sawyer)" <transfire@...>

12 messages 2012/12/12

[#50810] [ruby-trunk - Feature #7549][Open] A Ruby Design Process — "brixen (Brian Ford)" <brixen@...>

34 messages 2012/12/12

[#50867] [ruby-trunk - Bug #7556][Assigned] test error on refinement — "usa (Usaku NAKAMURA)" <usa@...>

14 messages 2012/12/13

[#50900] [ruby-trunk - Bug #7564][Open] r38175 introduces incompatibility — "tenderlovemaking (Aaron Patterson)" <aaron@...>

14 messages 2012/12/14

[#50951] [ruby-trunk - Bug #7584][Open] Ruby hangs when shutting down an ssl connection in gc finalization — "bpot (Bob Potter)" <bobby.potter@...>

12 messages 2012/12/17

[#51076] [ruby-trunk - Feature #7604][Open] Make === comparison operator ability to delegate comparison to an argument — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

12 messages 2012/12/22

[#51170] [ruby-trunk - Bug #7629][Open] Segmentation fault — "atd (Antonio Tapiador)" <atapiador@...>

13 messages 2012/12/28

[ruby-core:50808] [ruby-trunk - Bug #7541] Can't use Ruby 2.0.0 as as BASERUBY

From: "naruse (Yui NARUSE)" <naruse@...>
Date: 2012-12-12 05:55:30 UTC
List: ruby-core #50808
Issue #7541 has been updated by naruse (Yui NARUSE).


vo.x (Vit Ondruch) wrote:
> naruse (Yui NARUSE) wrote:
> > -I is not acceptable because it doesn't load correct rbconfig.rb.
> 
> Ah, so the presumably wrong rbconfig.rb is correct one.

Yes, such incomplete rbconfig.rb is also a correct one to make a package.

> Wouldn't be safer to not relay on rbconfig at all and take the information from some other place instead, e.g. config.status?

Yeah, it can be, and simply it can take info from reading and parsing rbconfig.rb instead of loading.
But for example ruby 1.9.3's build process can't be changed, so this must be fixed by ruby 2.0's side.
----------------------------------------
Bug #7541: Can't use Ruby 2.0.0 as as BASERUBY
https://bugs.ruby-lang.org/issues/7541#change-34649

Author: vo.x (Vit Ondruch)
Status: Assigned
Priority: Normal
Assignee: drbrain (Eric Hodel)
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-12-04 trunk 38184) [x86_64-linux]


=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 `<compiled>'
 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 :/ 


-- 
http://bugs.ruby-lang.org/

In This Thread