[#39325] File.fnmatch の改良について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

はじめまして、山本です。

18 messages 2004/03/05

[#39429] trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

18 messages 2004/03/23
[#39454] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/03/31

白井です。

[#39460] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39465] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/04/01

白井です。

[#39466] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39453] Re: int/int in Ruby2? — Masaaki Sakano <mas@...>

坂野 正明です。

36 messages 2004/03/31
[#39455] Re: int/int in Ruby2? — NISHIMATSU Takeshi <t-nissie@...> 2004/03/31

西松と申します.

[#39470] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/01

坂野 正明です。

[#39473] Re: int/int in Ruby2? — matz@... (Yukihiro Matsumoto) 2004/04/01

まつもと ゆきひろです

[#39484] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/03

坂野 正明です。

[#39528] Re: int/int in Ruby2? — "T Akutsu" <locrian@...> 2004/04/09

あくつです。なんかわくわくしてきだぞ。(^^;)

[ruby-list:39388] Windowsで拡張ライブラリのコンパイルに問題

From: Nobuhiro Fujitaka <fujitaka@...>
Date: 2004-03-18 18:37:47 UTC
List: ruby-list #39388
藤高です。

ruby 1.9.0 (2004-03-18) [i386-mswin32]
Windows XP HOME
VC++7.0 (.NET)

こんな環境で拡張ライブラリのコンパイルをするのですが、最近
(気が付いたのは2月頃)nmake でエラーが出る様になりました。

原因は mkmf.rb で作成される Makefile の中で宣言される RUBY が
  C:/Ruby/bin/ruby
という様に、スラッシュで path が区切られている事による物です。
このため ruby を起動して処理する部分で、エラーが出ます。
バックスラッシュ(\)にすれば動きます。


今は以下の様に対策して、しのいでいますが。
どうしたら良いでしょう?


■対策1
作成された Makefile を直接書き換える。
たとえばこんな感じ。

12c12
< prefix = $(DESTDIR)/Ruby
---
> prefix = $(DESTDIR)\Ruby
51c51
< RUBY = $(exec_prefix)/bin/ruby
---
> RUBY = $(exec_prefix)\bin\ruby


■対策2
mkmf.rb の変更。(ちょい強引ですが)

--- mkmf.rb	18 Mar 2004 09:50:14 -0000	1.180
+++ mkmf.rb	18 Mar 2004 17:58:00 -0000
@@ -747,7 +747,9 @@
   end
   CONFIG.each do |key, var|
     next unless /prefix$/ =~ key
-    mk << "#{key} = #{with_destdir(var.sub(drive, ''))}\n"
+    dstdir = with_destdir(var.sub(drive, ''))
+    dstdir.gsub!('/', '\\') if $mswin || $bccwin
+    mk << "#{key} = #{dstdir}\n"
   end
   CONFIG.each do |key, var|
     next if /^abs_/ =~ key
@@ -1048,7 +1050,9 @@
 Config::CONFIG["topdir"] = CONFIG["topdir"] =
   $curdir = arg_config("--curdir", Dir.pwd)
 $configure_args["--topdir"] ||= $curdir
-$ruby = arg_config("--ruby", File.join(CONFIG["bindir"], CONFIG["ruby_install_name"]))
+ruby_default = File.join(CONFIG["bindir"], CONFIG["ruby_install_name"])
+ruby_default.gsub!('/', '\\') if $mswin || $bccwin
+$ruby = arg_config("--ruby", ruby_default)
 
 split = Shellwords.method(:shellwords).to_proc

■対策3
--ruby オプションで ruby のフルパスを指定する。
(やった事無いけど)
これを毎回やるのは面倒くさい・・・。

------
Nobuhiro Fujitaka
fujitaka@kt.rim.or.jp



In This Thread

Prev Next