NYAOS ビルド不能! Lua × MinGW gcc 4.6 の罠
Lua で文法エラーがあると落ちる現象が、Lua 5.1.5(NYAOS 3.2)で発生するんだけれども、Lua 5.2.0(NYAOS 3.3) では発生しない(原因は不明)。安定版と開発版の安定度が逆転している。普段使ってるのが開発版だからな。安定版廃止するか?
2012-06-03 10:12:39Lua を「再コンパイル」してみたら、5.2.0 でも 5.1.5 でも症状が発生するようになった。MinGW の現行バージョンが悪いのかな…
2012-06-03 11:55:55幸い、機能公開した NYAOS 3.3.3_0 では、Luaコードが文法エラーの時、落ちるという現象は起きないようだ。だが、Lua コードをリビルドしてしまうと再現してしまう。難儀なことだ。
2012-06-03 11:59:15あー、dynamic-link すると、ちゃんと動作するな…。自前で Lua をビルドして、static-link すると、「lua_e "hoge" 」だけで(エラーにならず)落ちてしまう。
2012-06-03 15:41:33Lua のソースは差し替えていない。ただ、Lua をビルドし直したら、落ちるようになった。心当りは、マシンが不安定になった1月頃に工場出荷状態にマシンを戻してから、MinGW を入れ直したこと。ただ、入れ替えた後、Lua のコードはバックアップから戻したままでリビルドしてなかった
2012-06-03 15:43:44@zetamatta うちの環境だと、mingw 4.6.1でビルドしたliblua.aをリンクするとダメ。4.5.1ビルドのliblua.aならnyaos本体はどっちのリビジョンでビルドでも大丈夫でした。
2012-06-03 16:03:06@nocd5 ありがとうございます。今、gcc --version してみたら、4.6.1 でした。4.5.1 をインストールしてみます!
2012-06-03 16:05:30gcc 4.6.1-2 を消して、4.5.1 を入れようとしたけど、4.6.2-1 が出ているのを確認したので、試しにそっちを入れてみよう。
2012-06-03 16:12:54.@nocd5 MinGW の gcc を 4.5.2 に戻してみたところ、ちゃんと動作するようになりました。本当にありがとうございます!
2012-06-03 16:32:06@zetamatta たしかに…でもgccのバージョンは メジャー<マイナー<パッチ の関係にならないと安定しないって話もありましたよね…
2012-06-03 16:47:32Lua 5.2.0をgcc4.6.1でビルドするとエラー吐く件。最適化オプション-O2付けるとダメだなぁ。-O3や-Osだと大丈夫っぽい。なんか気になる…何もできないけど~w
2012-06-03 16:50:30@zetamatta なんか"lua mingw gcc 4.6" あたりでぐぐるといくつか出てくるのですが、関係あるのでしょうか… http://t.co/hJVRROgd
2012-06-03 17:25:12.@lpproj 引用部にある症状は、ほぼワタクシのところで出たものと同じですねぇ。とすると、回避策として提示されている -fno-omit-frame-pointor も試したいところですね
2012-06-03 17:29:58--fno-omit-frame-pointer付けると回避できた RT: @nocd5: Lua 5.2.0をgcc4.6.1でビルドするとエラー吐く件。最適化オプション-O2付けるとダメだなぁ。-O3や-Osだと大丈夫っぽい。なんか気になる…何もできないけど~w
2012-06-03 18:43:03