[#20525] [BigDecimal] changing rule of coerce — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

44 messages 2003/07/07
[#20527] Re: [BigDecimal] changing rule of coerce — "Shigeo Kobayashi" <shigeo@...> 2003/07/07

小林です。

[#20528] Re: [BigDecimal] changing rule of coerce — matz@... (Yukihiro Matsumoto) 2003/07/07

まつもと ゆきひろです

[#20570] Marshal upgrade — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

41 messages 2003/07/09
[#20575] Re: Marshal upgrade — Masatoshi SEKI <m_seki@...> 2003/07/09

咳といいます。

[#20583] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/09

まつもと ゆきひろです

[#21016] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/30

まつもと ゆきひろです

[#20804] add library — nobu.nakada@... 2003/07/23

なかだです。

[#20580] add library(Re:ruby-dev:20570) — たむらけんいち <sgs02516@...>

たむらです。

30 messages 2003/07/09
[#20656] Re: add library — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/07/14

なひです。

[#20658] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <038d01c349cb$eaad71d0$93222fc0@sarion.co.jp>,

[#20659] Re: add library — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20660] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <1058171960.400840.10041.nullmailer@picachu.netlab.jp>,

[#20661] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

話をそらしてしまうかもしれませんが、

[#20665] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030714.183104.09092354.taca@back-street.net>,

[#20666] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

In message <20030715.013655.424936247.gotoyuzo@kotetsu.does.notwork.org>

[#20668] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030715.025907.26217115.taca@back-street.net>,

[#20750] Re: add library — Takahiro Kambe <taca@...> 2003/07/21

In message <20030715.051853.968499478.gotoyuzo@kotetsu.does.notwork.org>

[#20751] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/21

In message <20030721.163444.09092937.taca@back-street.net>,

[#20655] frozen ThreadGroup — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

26 messages 2003/07/14
[#20671] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20673] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

永井@知能.九工大です.

[#20676] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20677] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

永井@知能.九工大です.

[#20681] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20690] portable(?) UserID/GroupID control (Re: frozen ThreadGroup) — Hidetoshi NAGAI <nagai@...> 2003/07/16

永井@知能.九工大です.

[#20712] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/17

永井@知能.九工大です.

[#20735] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20736] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/20

永井@知能.九工大です.

[#20737] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20748] [BigDecimal] exception handling — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

20 messages 2003/07/21

[#20765] Re: [ruby-cvs] ruby/lib: * lib/tmpdir.rb: new library to get temporary directory path, — WATANABE Hirofumi <eban@...>

わたなべです。

9 messages 2003/07/21

[#20780] complex.rb — Masahiro TANAKA <masa@...>

complex.rb についての修正案を[ruby-math:00543]で提案しましたが、その後

25 messages 2003/07/22
[#20782] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/22

まつもと ゆきひろです

[#20900] Re: complex.rb — Masahiro TANAKA <masa@...> 2003/07/25

At Tue, 22 Jul 2003 17:30:31 +0900, Yukihiro Matsumoto wrote:

[#20905] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/25

まつもと ゆきひろです

[#20906] Re: complex.rb — keiju@... (石塚圭樹) 2003/07/25

けいじゅ@いしつかです.

[#20810] Rational 始めました。 — Shin-ichiro HARA <sinara@...>

原です。

13 messages 2003/07/23
[#20876] Re: Rational 始めました。 — keiju@... (石塚圭樹) 2003/07/24

けいじゅ@いしつかです.

[#20954] ruby 1.8.0 preview5 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2003/07/28

[#20957] [BigDecimal] conflict between Numeric#div and BigDecimal#div — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

29 messages 2003/07/28
[#20960] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/28

At Mon, 28 Jul 2003 18:26:20 +0900, Tadashi Saito wrote:

[#20962] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/28

まつもと ゆきひろです

[#20990] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/29

At Mon, 28 Jul 2003 21:16:08 +0900, Yukihiro Matsumoto wrote:

[#20992] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/29

まつもと ゆきひろです

[ruby-dev:20993] OS/2 EMX (was: ruby 1.8.0 preview5)

From: siena@... (Siena. / SHINAGAWA, Norihide)
Date: 2003-07-29 05:51:53 UTC
List: ruby-dev #20993
Siena. です。

手元の OS/2 の開発環境がこれまでまともに動作しなくなっていたのですが、
先日ようやく再整備でき、ruby 1.8.0 preview4, preview5 [i386-os2-emx] の
インストールを試みていました。
# 今までは仕方無く、ずーっと ruby 1.6.4  ^^;

README.ja の手順だけでインストールできるようにするためには
次の点について修正が必要でしたので、報告致します。
対応していただけると、インストールが楽になるので助かります。

(1) ext/socket/socket.c:sock_init()
(2) ext/socket/socket.c:unix_{send,recv}_io()
(3) configure.in の OS 識別子
(4) Makefile:{C,CXX,LD}FLAGS
(5) Makefile:LIBRUBY_A
(6) mkconfig.rb

以下、少し長くなりますがご容赦ください。


(1) ext/socket/socket.c:sock_init()

EMX 標準の sys/socket.h に sock_init() が存在し、競合してしまいます。
ext/socket.c を s/sock_init/sock_initialize/ として 2ヶ所を変更しました。
これだけで良いと思うのですが、他に変更が影響するところはあるでしょうか?

$ cd ext/socket
$ mv socket.c socket.c.org
$ sed 's/sock_init/sock_initialize/g' socket.c.org > socket.c


(2) ext/socket/socket.c:unix_{send,recv}_io()

{send,recv}msg() のリンクエラーが発生します。調べたところ、EMX の
sys/socket.h には {send,recv}msg() のプロトタイプ宣言が存在するにも
かかわらず、nm で確認するとなんと実体が socket.a に含まれていません。
他の、send(), recv(), sendto(), recvfrom}() は実装が存在します。
ぐぐってみると、"The UNIX and OS/2 EMX Porting Companion FAQ"
<http://www.unixos2.org/sw/pub/docs/porting/porting.txt> にも
未実装と書かれていて、現在もそのままのようです。

とりあえずの手当として、ext/socket/socket.c:unix_{send,recv}_io() の
両関数の先頭にある条件文を次のように変更して凌ぎました。

-#if defined(HAVE_ST_MSG_CONTROL) || defined(HAVE_ST_MSG_ACCRIGHTS)
+#if ( defined(HAVE_ST_MSG_CONTROL) || defined(HAVE_ST_MSG_ACCRIGHTS) ) && !defined(__EMX__)

これで、UNIXSocket#{send,recv}_io だけが無効になる (呼び出すと
例外が上がる?) のだと思いますが、十分なのか理解していません。
どのくらいのライブラリ/スクリプトが UNIXSocket に、あるいは
UNIXSocket#{send,recv}_io に依存しているのでしょうか?
UNIXSocket を使うほとんどのものが #{send,recv}_io に依存しないならば、
上記の変更だけでも (安全ではないけれど) 足りそうですが、そうでなければ
UNIXSocket (と UNIXServer) クラスそのものを無効にすべきかもしれません。


(3) configure.in の OS 識別子

OS/2 の EMX 環境下 (うちの環境だけかもしれません) ではソース展開後の
./configure は正常に動作しないようなので、autoconf を回す必要があります。
OS/2 用の autoconf 2.5 を導入して使いましたが、いつの間にか、
OS/2 の識別子が os2_emx から os2-emx に変更されたようです。

$ autoconf --version
| autoconf (GNU Autoconf) 2.50 (release 3 for OS/2)
| Written by David J. MacKenzie.

今回は、configure.in 中の OS 識別子を単純に置換して対応しましたが、
もしかすると os2_emx のままの autoconf も存在するかもしれません。

$ mv configure.in configure.in.org
$ sed 's/os2_emx/os2-emx/g' configure.in.org > configure.in

なかなかこれに気付かず、make; make test; make install が通るのに、
動かすと変な $: が設定されて動作しないという状況に悩まされていました ^^;


(4) Makefile:{C,CXX,LD}FLAGS

適切なオプションが分からないので、今まで使っていた
ruby 1.6.4 の rbconfig.rb を参考に次のように設定しました。
configure で自動的に設定されるようになると良いのですが、
configure.in が分かっていないので、手を入れられずにいます。

$ CFLAGS='-O2 -Zmts' CXXFLAGS='-O2 -Zmts' LDFLAGS='-Zbsd-signals' \
| CONFIG_SHELL='sh' ./configure --prefix=$MYRUBYDIR

(*) -Zmts はマルチスレッド対応 C ライブラリを静的リンクするオプション、らしい

余談ですが、CONFIG_SHELL を '/bin/sh' でなくすのは、/bin が存在せず、
常用シェルにしている bash が #!sh で PATH を参照してくれるからです。
# make 時にはこけるので、作業ドライブに /bin/sh.exe を用意してますが ^^;

もちろん、PATH の参照は一般的には余計なお世話ですので、
このオプションは configure.in には反映されない方が良いと思っています。


(5) Makefile:LIBRUBY_A

ターゲット名に libruby-static.a が設定され、実際に生成されますが、
リンク時には ld が ruby-static.a をリンクしようとしてエラーでこけます。
やってないので不明ですが LIBRUBY_{SO,ALIAS} も同様かもしれません。

$ make
(中略)
| gcc -O2 -Zmt -Zmts -DOS2 -Zbsd-signals -L. main.o 
  -lruby-static -lm-o ruby.exe
| T:\BIN\ld.exe: No such file or directory for ruby-static.a
| make: *** [ruby.exe] Error 1

ターゲット名を ruby-static.a に変更し、整合するように他も変更する
必要がありそうですが、とりあえずは力任せにコピーしてごまかしています。
これも configure.in か Makefile.in 辺りを修正する必要がありそうです。

$ make ; cp -p libruby-static.a ruby-static.a ; make


(6) mkconfig.rb

と、(1)〜(5) が分かるまで、直しては make しを繰り返していたのですが、
場合によって、mkconfig.rb がエラーで止まってしまう事があります。
他の環境では発生しない問題でしょうか?

| ./mkconfig.rb:135:in `rename': Permission denied 
  - rbconfig.rb.tmp or rbconfig.rb (Errno::EACCES)
|         from ./mkconfig.rb:135
| make: *** [rbconfig.rb] Error 1

次のように修正を加えたところ、エラーで止まらなくなったようです。

$ diff -u2 mkconfig.rb.org mkconfig.rb Tue
--- mkconfig.rb.org     Sun Jul 27 22:03:40 2003
+++ mkconfig.rb Tue Jul 29 11:36:32 2003
@@ -15,4 +15,5 @@
 version = RUBY_VERSION
 rbconfig_rb_tmp = rbconfig_rb + '.tmp'
+rbconfig_rb_old = rbconfig_rb + '.old'
 config = open(rbconfig_rb_tmp, "w")
 $orgout = $stdout.dup
@@ -138,4 +139,6 @@
 $stdout.reopen($orgout)
 config.close
+File.delete(rbconfig_rb_old)  if( File.exist? rbconfig_rb_old )
+File.rename(rbconfig_rb, rbconfig_rb_old)
 File.rename(rbconfig_rb_tmp, rbconfig_rb)


以上、長々と要領を得ない説明ですみません。
ご検討いただけますと幸いです。よろしくお願い致します。

---
Siena. <mailto:siena@faculty.chiba-u.jp>

In This Thread