Issue #5053 has been reported by Makoto Kishimoto. ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック http://redmine.ruby-lang.org/issues/5053 Author: Makoto Kishimoto Status: Open Priority: Low Assignee: Category: core Target version: 1.9.x ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2011-07-19 07:20
on 2011-07-19 12:00
> ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません > たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです > (※基本的なアイディアはえぐちさんによるものです) ./configure --program-suffix=hogehoge とかしても librubyは上書きされて消えてしまうので、 以前すごくイライラした記憶があるんですけど、そもそもlibrubyにバージョン番号か、 program suffixをつけるべきな気がしてるんですよね。 衝突を検知するよりも、衝突しない方向に頑張る方が前向きな気がするんですよ。はずしてるかなぁ
on 2011-07-19 14:04
$B$-$7$b$H$G$9(B > ./configure --program-suffix=hogehoge $B$H$+$7$F$b(B libruby$B$O>e=q$-$5$l$F>C$($F$7$^$&$N$G!"(B > $B0JA0$9$4$/%$%i%$%i$7$?5-21$,$"$k$s$G$9$1$I!"$=$b$=$b(Blibruby$B$K%P!<%8%g%sHV9f$+!"(B > program suffix$B$r$D$1$k$Y$-$J5$$,$7$F$k$s$G$9$h$M!#(B > > $B>WFM$r8!CN$9$k$h$j$b!">WFM$7$J$$J}8~$K4hD%$kJ}$,A08~$-$J5$$,$9$k$s$G$9$h!#$O$:$7$F$k$+$J$!(B FreeBSD $B$@$H(B ruby18 $B$H(B ruby19 $B$H$$$&(B ports $B$K$J$C$F$^$9$,!"(B1.8.? $B$G$O(B "libruby18.so" $B!"(B1.9.? $B$G$O(B "libruby.so" $B$H$$$&L>A0$K$J$k$N$G(B $B$?$^$?$^(B /usr/local/lib $B$K6&B8$G$-$F$?$j$7$F$^$9!#(B r23368 $B$h$jA0$G$O!"(Bconfigure.in $B$G(B RUBY_SO_NAME='$(RUBY_INSTALL_NAME)' $B$H$J$C$F$$$k$N$G!"(Bprogram suffix$B$,1F6A$9$k$o$1$G$9$M!#(Br23368 $B$NJQ99$O(B [ruby-dev:38241] $B$+$i$N5DO@$N7k2L$K$h$k$b$N$N$h$&$G$9!#(B
on 2011-07-20 03:15
Issue #5053 has been updated by Usaku NAKAMURA. パッチがこれでいいかどうかは確認してませんが、このチェックを入れることには 賛成します。 # 個人的には警告でなくエラーでいいと思う。 回避の努力自体はもうそれなりに入ってるので、それはそれ、これはこれ、 ということで。 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック http://redmine.ruby-lang.org/issues/5053 Author: Makoto Kishimoto Status: Open Priority: Low Assignee: Category: core Target version: 1.9.x ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2011-07-20 06:48
Issue #5053 has been updated by Makoto Kishimoto. コンパイルした時刻のunix timeを埋め込んで、とかいうのも考えましたが、 そうするとちょっとオーバーキルかな、と思いました ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック http://redmine.ruby-lang.org/issues/5053 Author: Makoto Kishimoto Status: Open Priority: Low Assignee: Category: core Target version: 1.9.x ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2011-07-20 07:06
In message <redmine.journal-19373.20110720134723@ruby-lang.org> on Wed, 20 Jul 2011 13:47:24 +0900, Makoto Kishimoto <redmine@ruby-lang.org> wrote: > Issue #5053 has been updated by Makoto Kishimoto. > > > $B%3%s%Q%$%k$7$?;~9o$N(Bunix time$B$rKd$a9~$s$G!"$H$+$$$&$N$b9M$($^$7$?$,!"(B > $B$=$&$9$k$H$A$g$C$H%*!<%P!<%-%k$+$J!"$H;W$$$^$7$?(B $BF1$8%=!<%9%3!<%I$+$i:n@.$5$l$k8B$j!"%3%s%Q%$%k$7$?F|;~$K4X$o$i$:F1$8(B $B<B9T%U%!%$%k$H$J$C$?J}$,4r$7$$$H;W$$$^$9!#(B
on 2011-07-20 08:42
Issue #5053 has been updated by Makoto Kishimoto. 同じソースでも違うバイナリになることも問題かと思いますが、一種の個体追跡 (CPUの個体IDのような)のようなことに使えるのも問題かなと思いました。 ソースコードのとバイナリの同一性を重視するのであれば、指定したファイルの ハッシュ値とかになるでしょうかね? ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック http://redmine.ruby-lang.org/issues/5053 Author: Makoto Kishimoto Status: Open Priority: Low Assignee: Category: core Target version: 1.9.x ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-02-07 07:37
Issue #5053 has been updated by Kenta Murata. 同じソースでもコンパイルオプションを変えれば異なるバイナリが生成される可能性は十分ありますから、ソースの同一性だけでは判定できない気がします。 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053 Author: Makoto Kishimoto Status: Open Priority: Low Assignee: Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-03-25 10:16
Issue #5053 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to tarui (Masaya Tarui) ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-25155 Author: metanest (Makoto Kishimoto) Status: Assigned Priority: Low Assignee: tarui (Masaya Tarui) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-06-24 10:11
Issue #5053 has been updated by metanest (Makoto Kishimoto). File No5053.pdf added [ruby-dev:45708] コンペ向けの資料を添付 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-27393 Author: metanest (Makoto Kishimoto) Status: Assigned Priority: Low Assignee: tarui (Masaya Tarui) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-07-01 03:11
Issue #5053 has been updated by mame (Yusuke Endoh). 資料受け取りました。 (よく読んでませんが) これ、まつもとさんの認可が必要な内容なんですかね。 なかださんか誰かが勝手にやってしまえばいいレベルの話な気も。 まあ一応聞いてみます。 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-27640 Author: metanest (Makoto Kishimoto) Status: Assigned Priority: Low Assignee: tarui (Masaya Tarui) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-07-02 16:23
Issue #5053 has been updated by nobu (Nobuyoshi Nakada). 正直なところ何が嬉しいのかさっぱりだったので放っておいたのですが…。 バージョンが一致しないlibrubyがロードされると嬉しくないのは同感なのですが、このチェックによって ./ruby が実行できなくなるとそのストレスは解消するものなんでしょうか。 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-27711 Author: metanest (Makoto Kishimoto) Status: Assigned Priority: Low Assignee: tarui (Masaya Tarui) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-07-21 13:08
Issue #5053 has been updated by nobu (Nobuyoshi Nakada). File 0001-revision-check.patch added Status changed from Assigned to Feedback ちょっと前(r36277)に、Makefileにrunnableというターゲットを追加しました。 今のところLinuxとMac OS Xしか対応していませんが、--enable-load-relativeを指定しておくと./bin/rubyでビルドしたバイナリが実行できるはずです。 こういったものではまずいでしょうか。 一応、RUBY_REVISIONとconfig.hのチェックサムで一致しない場合にエラーになるようにするパッチも作ったは作ったので、置いておきます。 ちなみに、私は https://github.com/nobu/build-files/blob/master/ruby.rb のようなラッパーで実行しています。 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-28251 Author: metanest (Makoto Kishimoto) Status: Feedback Priority: Low Assignee: tarui (Masaya Tarui) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-07-21 13:34
Issue #5053 has been updated by nobu (Nobuyoshi Nakada). File 0001-revision-check.patch added テスト用にconfigureオプションを消していたのを忘れてました。 ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-28253 Author: metanest (Makoto Kishimoto) Status: Feedback Priority: Low Assignee: tarui (Masaya Tarui) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-07-23 15:24
Issue #5053 has been updated by mame (Yusuke Endoh). Assignee changed from tarui (Masaya Tarui) to nobu (Nobuyoshi Nakada) きしもとさん これはなかださんに一任となりました。 まつもとさんの意見は以下の 2 点です。 * fail early の観点で、よい実装方法があるなら取り込みたい * ただし RUBY_DESCRIPTION を使うのはよい実装方法と思わない -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-28313 Author: metanest (Makoto Kishimoto) Status: Feedback Priority: Low Assignee: nobu (Nobuyoshi Nakada) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-11-20 15:18
Issue #5053 has been updated by mame (Yusuke Endoh). Status changed from Feedback to Assigned なかださん、いかがお過ごしでしょうか -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-33325 Author: metanest (Makoto Kishimoto) Status: Assigned Priority: Low Assignee: nobu (Nobuyoshi Nakada) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
on 2012-11-20 15:31
(12/11/20 23:18), mame (Yusuke Endoh) wrote:
> なかださん、いかがお過ごしでしょうか
いい具合でゴキゲンですが、[ruby-dev:45898]でも書いたように解決の方針がそもそも明後日ではないかと思います。
on 2012-11-20 15:49
Issue #5053 has been updated by mame (Yusuke Endoh). Status changed from Assigned to Rejected 2012年11月20日 23:30 Nobuyoshi Nakada <nobu@ruby-lang.org>: > (12/11/20 23:18), mame (Yusuke Endoh) wrote: >> なかださん、いかがお過ごしでしょうか > > いい具合でゴキゲンですが、[ruby-dev:45898]でも書いたように解決の方針がそもそも明後日ではないかと思います。 一任されたなかださんがその意見なら、このチケットは rejected でよろしいかと思います。 -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Feature #5053: ruby コマンドと libruby の食い違いチェック https://bugs.ruby-lang.org/issues/5053#change-33343 Author: metanest (Makoto Kishimoto) Status: Rejected Priority: Low Assignee: nobu (Nobuyoshi Nakada) Category: core Target version: 2.0.0 ビルドした ruby を、インストールせずに、ビルドディレクトリで ./ruby のように実行すると、実行する ruby コマンドと、ロードされる libruby でバージョンが食い違うことがありますが、その警告というのは(バイナリライブラリに互換性がないバージョンだったりしなければ)特に出たりしません たまにはまることがあるので、main.c 中で RUBY_DESCRIPTION マクロと、グローバル変数 ruby_description で一致するかどうかを調べて、違うようならウォーニングを出す、というパッチです (※基本的なアイディアはえぐちさんによるものです)
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.