Ruby初心者スレッドPart7
■ このスレッドは過去ログ倉庫に格納されています
0096デフォルトの名無しさん
2006/08/01(火) 10:40:37前提として>>53で書いたように、スクリプトも含めた添付ライブラリ全てを内蔵したいので
Exerbで統合する方向性です
安定版の1.8.4は、Cygwin+MinGWではtimezoneが重複してるとか
様々なコンパイルエラーがでまくったので放棄しました
ここで1.8.5系に逃げて、Cygwin+MinGWやMinGW+MSYSでコンパイルは問題なく
rubyの動作も問題ないんだけど、Exerbで統合したバイナリが
Win32 APIのエントリポイントが無いとかで実行できませんでした。
調べてみると、Exerbのコアは1.8.4がベースのようで、io.cにrb_io_set_nonblock関数がないので
実行できないんじゃないかと思いました。しかしながら、コアのソースはVisualStudio用になってるみたいで
改造は断念
しかたないので1.8.4に戻して、MSYS-1.0.10とMinGW-3.1.0-1の組み合わせでやってみたら
ようやく上手くいきました。Exerbで統合後、WindowsXPインストール直後のマシン(Vmware)で
きちんと動作しました。やれやれだぜ。
その他にもメイン環境がXP 64版だったため、MSYSが動かなかったりとか罠がありすぎました
ちなみに、--with-static-linked-extはExerbバイナリ実行時にnkf.soの呼び出しに失敗するのでダメでした
--disable-sharedは、Exerbバイナリ作成時にエントリポイントが見つからないのでダメでした
ここまで来て、わざわざmingw32版でExerb統合する意味ないじゃんと思いましたけど
統合後にUPXで圧縮したら 1.13 MBになったので、mswin32版より小さくなったのが唯一の救いです
関係ないけど、ググって調べてる過程で山田オルタナティブ(Winnyで配布されるウイルス)が
Exerbで作られてるらしく、Exerbバイナリがウイルス駆除ソフトで誤検知されるという記事を読みました
http://www.itmedia.co.jp/enterprise/articles/0604/04/news003_2.html
今後、Exerbバイナリを配布する上で問題になりそうなんですが、誤検知するウイルス駆除ソフトって
どれなんでしょうね?手元のSymantec AntivirusとAVGでは誤検知されないようですが…
■ このスレッドは過去ログ倉庫に格納されています