[#14715] HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
なひです.
高橋征義です。
ごとけんです
高橋です。みなさまどうもありがとうございます。
なひです.
前橋です。
なひです.
なひです.すいません,駄目です.^^;
なひです.
[#14747] Ruby-gtk の Text Widget について — Takano Naoki <takanon@...>
はじめまして。
[#14763] do end + do end — Wakou Aoyama <wakou@...>
青山です。
[#14765] ruby 1.3.4 with ipv6 — Yasunari Momoi <momo@...>
ruby 1.3.4 を入れたんですが,IPv6 対応しているんですね (^^).
[#14766] ruby 1.3.4 on BSD/OS 3.1 — Yasunari Momoi <momo@...>
BSD/OS 3.1 (with kame) で ruby-1.3.4 を作ろうとしているんで
まつもと ゆきひろです
前田です。
わたなべです.
[#14790] Microsoft Perl ? — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#14833] Regacy scripts depend the ruby old version. — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#14842] texinfo document for ruby-1.3 — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
From: Koji Arai <JCA02266@nifty.ne.jp>
[#14854] Rubyfaq-990607 — Akira Endo <akendo@...3.rim.or.jp>
遠藤です.
[#14863] OO Software Construction by Meyer — Akira Endo <akendo@...3.rim.or.jp>
遠藤です.
[#14874] ruby-gtk trouble — Jun Adachi <adachi@...>
安達@沖データと申します。
[#14900] Rubyfaq-990608 — Akira Endo <akendo@...3.rim.or.jp>
遠藤です.
まつもと ゆきひろです
[#14917] Ruby/Tk and Threads — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
こんにちは、越水です。
[#14953] 男親なら誰でも思う — 中村暁史 <anakamur@...>
[#14957] textarea with CGI.rb — HATTORI Masashi <hattori@...>
服部といいます。こんにちは。
[#14970] thread with curses — HATTORI Masashi <hattori@...>
服部といいます。こんにちは。
[#14980] 初期化メソッドの追加 — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#15003] 文字列から数値への変換失敗を検出したい — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#15012] ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...>
原です。
akaishi です。
わたなべです.
前田です。
[#15045] mail library — Minero Aoki <aamine@...>
あおきです。
あおきです。
あおきです。
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
石橋秀仁です.
あおきです。
まつもと ゆきひろです
あおきです。
なひです.
あおきです。
なひです.
松尾です。
なひです.
松尾です。
有馬@FITECです。
松尾です。
はじめまして、岩間です。
なひです.mod_rubyと格闘中です.
なひです.mod_rubyネタはruby-listでよいでしょうか?
前田です。
なひです.
なひです.
前田です。
なひです.
小松です。
前田です。
小松です。
前田です。
小松です。
前田です。
小松です。
まつもと ゆきひろです
たむら です。
あおきです。
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
あおきです。
[#15057] 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...>
しげまつ と申します。 とっても久しぶりの投稿です。
まつもと ゆきひろです
しげまつ です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
In message "[ruby-list:15078] Re: pattern (Re: 複雑?な構造体の定義方法)"
[#15093] String#rindex with arbitrary starting point — kjana@... (YANAGAWA Kazuhisa)
「String#rindex の第二引数ってば,探索を『始める』ポイントじゃなくて
前田です。
[#15112] pty on NeXTSTEP3.3J — SHIROYAMA Takayuki <psi@...>
[#15116] irb & ruby — Takashi Nishimoto <g96p0935@...>
ruby の最新版 (990625) を /usr/local 以下にインストールしたのですが、
[#15121] ruby-gtk-0.19 released — Hiroshi Igarashi <igarashi@...>
いがらし%Ruby/GTKメンテナ です。
From: Hiroshi Igarashi <igarashi@ueda.info.waseda.ac.jp>
いがらしです。
[#15131] game of life: ruby/gtk version — Takahiro Maebashi <maebashi@...>
前橋です。
[#15160] undefined method `-@' for Fixnum (NameError) — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
こんにちは、越水です。
まつもと ゆきひろです
[ruby-list:15112] pty on NeXTSTEP3.3J
しろやまです。
以前申してました、ptyがNeXTSTEP環境にてコンパイルでき
ない件に関してです。
問題点としては、まずNeXTでは wait3が
int wait3(union wait *, int, struct rusage *);
と定義、また
#define WIFSTOPPED(x) ((x).w_stopval == WSTOPPED)
(また、w_stopvalは実際には
w_S.w_stopvalというメンバになる)
と定義されております。
ところが、pty.c では
int statusp;
っと定義された変数 statuspを使って
cpid = wait3((int *) &statusp, WUNTRACED|WNOHANG, 0);
っと wait3へ(さらに (int
*)でキャストされて(T^T))渡され、
また183行目で
if (WIFSTOPPED(statusp)) { /* suspend */
っと使われており、これが
if( statusp.w_S.w_stopval == WSTOPPED )
っと展開され、 int型には w_Sなんてメンバが無くて、
pty.c:183: request for member `w_S' in something not a structure or union
っとエラーになってしまう訳です。(もちろん、wait3の引数など
でも型が違うので warningが出ますが)
以下のパッチで、NeXTの場合に限り、statuspの型を
union wait
に変更しており、これにより上記の問題を回避すると、コンパイ
ルには成功しました。
*** pty.orig/pty.c Thu Jun 10 19:31:52 1999
--- pty/pty.c Fri Jun 25 12:22:02 1999
***************
*** 154,160 ****
--- 154,164 ----
{
int cpid;
int i,n = -1;
+ #ifndef NeXT
int statusp;
+ #else
+ union wait statusp;
+ #endif
for (;;) {
#ifdef HAVE_WAITPID
ところが、これだけでは以下のようなエラーが出て何故かうまく
いきません(^^;
tiger> ruby ./shl.rb
./shl.rb:12: [BUG] Segmentation fault
なのでGDBでおっかけてみました。
tiger> gdb ../../ruby
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.7 (NeXT 3.1), Copyright 1992 Free Software Foundation, Inc...
Reading symbols from
/Users/psi/work/ruby/ruby-1.3.4-990624/ext/pty/../../ruby...done.
Reading symbols from /usr/shlib/libsys_s.B.shlib...done.
(gdb) run shl.rb
Starting program:
/Users/psi/work/ruby/ruby-1.3.4-990624/ext/pty/../../ruby shl.rb
Reading symbols from loaded file...done.
Program generated(1): Memory access exception on address 0xbf006570
(invalid address).
Reading in symbols for eval.c...done.
require_method (argc=2, argv=0xbffff6a8, self=2072272) at eval.c:4781
4781 rb_f_require(self, argv[i]);
(gdb) where
Reading in symbols for main.c...done.
Reading in symbols for crt0.c...done.
#0 require_method (argc=2, argv=0xbffff6a8, self=2072272) at eval.c:4781
#1 0xbb01 in call_cfunc (func=0xe19c <require_method>,
recv=2072272, len=0, argc=1, argv=0x2) at eval.c:3663
#2 0xc05e in rb_call0 (klass=2075792, recv=2072272, id=7721,
argc=1, argv=0xbffff6a8, body=0x1ef854, nosuper=1) at eval.c:3802
#3 0xc7fd in rb_call (klass=2075792, recv=2072272, mid=7721,
argc=1, argv=0xbffff6a8, scope=1) at eval.c:3996
#4 0x8004 in rb_eval (self=2072272, node=0x1ee9b8) at eval.c:2192
#5 0x6984 in rb_eval (self=2072272, node=0x1ee92c) at eval.c:1729
#6 0x51d4 in eval_node (self=2072272) at eval.c:967
#7 0x52c2 in ruby_run () at eval.c:1003
#8 0x3f5c in main (argc=2, argv=0xbffffc74, envp=0xbffffc80) at main.c:39
#9 0x3eff in start () at crt0.c:134
(gdb) list
4776 VALUE self;
4777 {
4778 int i;
4779
4780 for (i=0; i<argc; i++) {
4781 rb_f_require(self, argv[i]);
4782 }
4783 return Qnil;
4784 }
4785
(gdb) p i
No symbol "i" in current context.
eval.cのみ -O2オプションをはずす、あるいは
-Oのみにすると
shl.rbも問題なく動作します。
どうも最適化の関係でeval.c: 4778行目で定義されている int i
がなくなってしまっている模様です。(コンパイラはNeXT-
STEP3.3J付属のccである gcc2.5.8です)
また、pty をスタティックリンクするとこれまた正常動作し
ます。
以上より上記パッチを適用した後に、
1. pty.oをスタティックリンクする
2. eval.cのみ最適化を行わない、あるいは-Oのみとする
を行わないと、残念ながらNeXTSTEPではptyは使えません。
# eval.c:4778行目の int i に volatile int i
と変更した所、何か
# 別の場所でクラッシュしてくれました。。。どうもeval.c
# にはそれ以外にもいろいろとあるみたいで。。。(^^;;;
とりあえず、御報告まで
---
SHIROYAMA Takayuki
PS: って、NeXTでruby使ってるのって私だけなんだろうか、
やっぱり。。。