Bug #2484

Neither 1.8.6 or 1.8.7 can serve as base ruby for cross compilation

Added by Luis Lavena about 2 years ago. Updated 9 months ago.

[ruby-core:27177]
Status:Rejected Start date:12/15/2009
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:build
Target version:-
ruby -v:ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-darwin9.8.0]

Description

I've originally reported a similar issue in #2464, but was rejected.

He stated the following:

"You seem to use Ruby 1.8.6 for bulding Ruby 1.9.1.
But Ruby 1.9's lib/mkmf.rb can't run with Ruby 1.8.6."

Which in the past worked but randomly failed between patchelevels.

Today, tried to use 1.8.7 as suggested, with a different failure this time:

<pre><code>
compiling bigdecimal
/Users/luis/.rvm/ruby-1.8.7-p174/lib/ruby/1.8/fileutils.rb:1436:in `dup': can't dup NilClass (TypeError)
	from /Users/luis/.rvm/ruby-1.8.7-p174/lib/ruby/1.8/fileutils.rb:1436:in `fu_check_options'
	from /Users/luis/.rvm/ruby-1.8.7-p174/lib/ruby/1.8/fileutils.rb:568:in `rm_f'
	from /Users/luis/.rake-compiler/sources/ruby-1.9.1-p376/lib/mkmf.rb:195:in `rm_f'
	from /Users/luis/.rake-compiler/sources/ruby-1.9.1-p376/ext/extmk.rb:161:in `extmake'
	from /Users/luis/.rake-compiler/sources/ruby-1.9.1-p376/ext/extmk.rb:440
	from /Users/luis/.rake-compiler/sources/ruby-1.9.1-p376/ext/extmk.rb:436:in `each'
	from /Users/luis/.rake-compiler/sources/ruby-1.9.1-p376/ext/extmk.rb:436
make: *** [mkmain.sh] Error 1
</code></pre>

I've also tried to compile 1.9.2dev using 1.8.6, all without issues. So the problem remains in 1.9.1 branch.

Looking at 1.9.1 branch, I don't see any documentation or indication of exact Ruby version required to compile it.

History

Updated by Yui NARUSE about 2 years ago

  • Status changed from Open to Rejected
Sorry for not detailed previous answer; on cross compiling, BASERUBY should be the same version of target.
(strictly same patch level, if it affects a behavior)

Updated by Luis Lavena about 2 years ago

Thank you for your answer.

This requirement is something new.

Can you please indicate a link/file where this is being listed?

A partial functionality of rake-compiler is the ability to cross compile different versions of Ruby. I would like to update it and point to the proper documentation about the inability to do it anymore.

Updated by Luis Lavena about 2 years ago

Apologies, found the link on ticket #2464.

Reading at that page and checking the history, seems you adapted it just now ;-)

The funny thing is that 1.8.6 can still cross compile 1.9.2dev.

Looks like I have no choice than indicate the break of this feature to the users of rake-compiler tool.

Updated by Yui NARUSE about 2 years ago

Requirement for cross compiling didn't clearly showed before you pointed.
And now, we put a current policy: if you use the same version you can cross compile; if you cannot, it is a bug.

Yes, current situation seems funny. But you know, current ruby core team can't check cross compiling status so often.
If you or someone can check and will create ticket every failure with a patch, please create feature request ticket.

Also available in: Atom PDF