よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

November 16, 2004 [おもひで]

[Ruby] ruby-1.8.2-preview3のコンパイル

なかださん、すみません、記述ミスでした。実際はwin32\configure.batやってからnmakeです。

もうちょっと詳しく説明すると以下の手順です。

> "C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\sdkvars.bat"
> set INCLUDE=%INCLUDE%;"C:\Program Files\Microsoft SDK\include"
> win32\configure.bat
> nmake
	cl -nologo -MD -Zi -O2b2xg- -G6 -DRUBY_EXPORT -I. -I. -I. -I./missing -c -Tcarray.c
array.c
c:\msys\1.0\home\mutomasa\ruby-1.8.2\ruby.h(529) : error C2061: syntax error : identifier '__attribute__'
c:\msys\1.0\home\mutomasa\ruby-1.8.2\ruby.h(529) : error C2059: syntax error : ';'
(以下略)

ちなみに、RubyGardenの情報を見て、VC7以下はMicrosoft Visual C++ Toolkit 2003に上書きしてあります。

#それがまずい?(^^;)

[Ruby] 続ruby-1.8.2-preview3コンパイル

なかださん、たびたびご助言ありがとうございます。config.h、思いっきり混じってました...。気を取り直してconfig.hを削除。

>win32\configure.bat
>nmake
  :
  :
(コンパイルは完了。わーい。)
  :
  :
        .\miniruby.exe ./../win32/mkexports.rb -output=msvcrt-ruby18.def msvcrt-
ruby18-static.lib
./../win32/mkexports.rb:6:in `foreach': No such file or directory - dumpbin -symbols msvcrt-ruby18-static.lib (Errno::ENOENT)
        from ./../win32/mkexports.rb:6
NMAKE : fatal error U1077: '.\miniruby.exe' : リターン コード '0x1'
Stop.
(がーん(T_T))

ちなみに

> dumpbin -symbols msvcrt-ruby18-static.lib

だけ抜き出して実行すると正常に動作します。dumpbinもmsvcrt-ruby18-static.libも見えてるようです。念のためディレクトリをwin32に移ってconfigure.batからやり直したけどダメです。うーんうーん。

本日のツッコミ(全3件) [ツッコミを入れる]
なかだ (November 16, 2004 12:45)

__attribute__ というのはgcc用なので、cygwinあたりとconfig.hが混ざってませんか。
複数のプラットフォームでコンパイルするときは、ソースディレクトリは使わないようにしないとはまります。

(う) (November 16, 2004 22:13)

うーん、環境変数RUBYSHELLがあったりしますか?

むとぽん (November 17, 2004 18:37)

RUBYSHELLはないです...。


編集