自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。
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 : ';' (以下略)
■ [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からやり直したけどダメです。うーんうーん。

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