Bug #1851
closedmake install problems using mingw on fedora 11
Description
=begin
Fedora 11 の MinGW を使ってクロスコンパイルしてみたところ、
make installの時に./tool/rbinstall.rbで警告が出ます。
それから、RDocの生成に失敗します。
svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby-trunk
cd ruby-trunk
autoconf
mingw32-configure
make
$ make DESTDIR=$HOME/ruby-mingw32 install
ruby -I.../ruby-trunk -ri386-mingw32-fake ./tool/rbinstall.rb --make="make" --dest-dir=".../ruby-mingw32" --extout=".ext" --mflags="" --make-flags="DESTDIR=.../ruby-mingw32" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands: /usr/i686-pc-mingw32/sys-root/mingw/bin
installing base libraries: /usr/i686-pc-mingw32/sys-root/mingw/lib
installing arch files: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/1.9.1/i386-mingw32
installing command scripts: /usr/i686-pc-mingw32/sys-root/mingw/bin
installing library scripts: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/1.9.1
installing common headers: /usr/i686-pc-mingw32/sys-root/mingw/include/ruby-1.9.1
installing manpages: /usr/i686-pc-mingw32/sys-root/mingw/share/man/man1
installing extension objects: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/1.9.1/i386-mingw32
installing extension objects: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/site_ruby/1.9.1/i386-msvcrt
installing extension objects: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/vendor_ruby/1.9.1/i386-msvcrt
installing extension headers: /usr/i686-pc-mingw32/sys-root/mingw/include/ruby-1.9.1/i386-mingw32
installing extension scripts: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/1.9.1
installing extension scripts: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/site_ruby/1.9.1
installing extension scripts: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/vendor_ruby/1.9.1
installing extension headers: /usr/i686-pc-mingw32/sys-root/mingw/include/ruby-1.9.1/ruby
installing default gems: /usr/i686-pc-mingw32/sys-root/mingw/lib/ruby/gems/1.9.1 (cache, doc, gems, specifications)
./tool/rbinstall.rb:523: warning: multiple values for a block parameter (0 for 1)
from ./tool/rbinstall.rb:246
./tool/rbinstall.rb:523: warning: multiple values for a block parameter (0 for 1)
from ./tool/rbinstall.rb:246
./tool/rbinstall.rb:523: warning: multiple values for a block parameter (0 for 1)
from ./tool/rbinstall.rb:246
Generating RDoc documentation
ruby -I.../ruby-trunk -ri386-mingw32-fake -Icd ./lib; pwd
-- "./bin/rdoc" --all --ri --op ".ext/rdoc" "."
.../ruby-trunk/lib/rubygems.rb:191: uninitialized constant Gem::Mutex (NameError)
from .../ruby-trunk/lib/rdoc/ri/paths.rb:55:in require' from .../ruby-trunk/lib/rdoc/ri/paths.rb:55 from .../ruby-trunk/lib/rdoc/options.rb:4:in
require'
from .../ruby-trunk/lib/rdoc/options.rb:4
from .../ruby-trunk/lib/rdoc/rdoc.rb:13:in require' from .../ruby-trunk/lib/rdoc/rdoc.rb:13 from ./bin/rdoc:11:in
require'
from ./bin/rdoc:11
make: *** [rdoc] エラー 1
$ wine ./ruby.exe -v
ruby 1.9.2dev (2009-08-01 trunk 24343) [i386-mingw32]
$
=end
Updated by znz (Kazuhiro NISHIYAMA) over 14 years ago
=begin
また試してみたところ、rdocの生成タイミングが変わったためか、make installではなくmakeで失敗するようになっていました。
クロスコンパイルの時にはconfigureでrdocの生成はしないようにするべきなのでしょうか?
$ make
(略)
making ruby.exe, rubyw.exe
make[1]: ディレクトリ /home/user1/ruby-trunk' に入ります make[1]:
ruby.exe' は更新済みです
make[1]: rubyw.exe' は更新済みです make[1]: ディレクトリ
/home/user1/ruby-trunk' から出ます
Generating RDoc documentation
ruby -I/home/user1/ruby-trunk -ri386-mingw32-fake "./bin/rdoc" --no-force-update --all --ri --op ".ext/rdoc" "."
./bin/rdoc:11:in `require': no such file to load -- rdoc/rdoc (LoadError)
from ./bin/rdoc:11
make: *** [rdoc] エラー 1
$ wine ./ruby.exe -v
ruby 1.9.2dev (2010-04-28 trunk 27517) [i386-mingw32]
$
=end
Updated by znz (Kazuhiro NISHIYAMA) over 14 years ago
- Category set to build
- Status changed from Open to Rejected
- Target version set to 1.9.2
=begin
rdoc の生成には同じバージョンの ruby (1.9.2のビルドならnativeも1.9.2) を使うべきと言うことのようです。
つまり、ビルドの仕方が悪かった (native の方が 1.8.6 だった) という結論で Rejected にします。
=end