[#26430] compile error of missing/*.c — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#26443] cvs [diff aborted]: cannot open file .cvsignore for comparing: No such file or directory — Tanaka Akira <akr@...17n.org>
最近、cvs diff に -k option を付けると、エラーになる (ことがある) ので
[#26463] String#each_byte and String#each_char — "NARUSE, Yui" <naruse@...>
成瀬です。
[#26468] $SAFE=1 の open-uri で redirect 時にエラー — Kazuhiko <kazuhiko@...>
かずひこです。
In article <m3zmsylimn.wl%kazuhiko@fdiary.net>,
まつもと ゆきひろです
In article <1120754832.716261.15867.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1120762886.189058.18880.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1120810939.815280.27104.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
In article <42CF1918.5000603@ruby-lang.org>,
前田です。
In article <42D7C230.7030509@ruby-lang.org>,
In article <42DDBA82.7030307@ruby-lang.org>,
[#26493] can't handle \c\ — KIMURA Koichi <kbk@...>
木村です。
卜部でございます。
木村です。
[#26508] rmdir(2) on windows doesn't set ENOTDIR — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
まつもと ゆきひろです
山本です。
山本です。
[#26530] removing static variables in parse.y — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
[#26566] cannot compile io.c on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26574] SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — Tanaka Akira <akr@...17n.org>
次のように、メッセージの最後が切れます。
まつもと ゆきひろです
なかだです。
山本です。
まつもと ゆきひろです
なかだです。
山本です。
なかだです。
山本です。
なかだです。
なかだです。
まつもと ゆきひろです
山本です。
この変更があってからだと思うのですが、リンカが以下のように警告を発するよ
卜部です。自己レス
At Sat, 30 Jul 2005 02:32:38 +0900,
[#26594] test_s_open_lock failed on Solaris — Tanaka Akira <akr@...17n.org>
次のように、Solaris で test_s_open_lock が失敗します。
[#26618] Re: [ruby-cvs] ruby/ext/socket, ruby, ruby: * ext/socket/socket.c (ruby_connect): break immediately if a — Tanaka Akira <akr@...17n.org>
In article <20050728015209.0F30DC6734@lithium.ruby-lang.org>,
In article <1122518643.429222.1408.nullmailer@x31.priv.netlab.jp>,
[#26623] Ruby2.0BlockParameterNotation — SASADA Koichi <ko1@...>
ささだです。
まつもと ゆきひろです
[#26628] show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
わたなべです。
こんにちは、なかむら(う)です。
永井@知能.九工大です.
永井@知能.九工大です.
In message <20050731.094203.74726476.nagai@ai.kyutech.ac.jp>
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
こんにちは、なかむら(う)です。
永井@知能.九工大です.
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#26639] SEGV at zsuper with anonymous rest args. — nobu@...
なかだです。
まつもと ゆきひろです
山本です。
なかだです。
[ruby-dev:26431] Re: compile error of missing/*.c
まつもと ゆきひろです
In message "Re: [ruby-dev:26430] compile error of missing/*.c"
on Fri, 1 Jul 2005 14:30:40 +0900, nobuyoshi nakada <nobuyoshi.nakada@ge.com> writes:
|
|なかだです。
|
|Fri Jul 1 11:34:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
| * missing/crypt.c: replaced with 4.4BSD version.
|
| * missing/erf.c: ditto.
|
|この変更で、この二つがコンパイルできなくなっています。少なくと
|も手元にある範囲(bccwin32,mingw32,mswin32)ではすべてダメです。
|以下のパッチでmingw32は通るようになりますが、他の環境はリンク
|で__exp__D()が見つからなくてやはりダメです。というか、
|__exp__D()で検索すると[ruby-list:37745]くらいしか出てこないんで
|すが。
甘かったですねえ。こんなパッチでどうでしょう?
Index: missing/erf.c
===================================================================
RCS file: /var/cvs/src/ruby/missing/erf.c,v
retrieving revision 1.2
diff -p -u -1 -r1.2 erf.c
--- missing/erf.c 1 Jul 2005 03:24:49 -0000 1.2
+++ missing/erf.c 1 Jul 2005 05:55:37 -0000
@@ -33,2 +33,107 @@ static char sccsid[] = "@(#)erf.c 8.1 (B
+#if defined(vax)||defined(tahoe)
+
+/* Deal with different ways to concatenate in cpp */
+# ifdef __STDC__
+# define cat3(a,b,c) a ## b ## c
+# else
+# define cat3(a,b,c) a/**/b/**/c
+# endif
+
+/* Deal with vax/tahoe byte order issues */
+# ifdef vax
+# define cat3t(a,b,c) cat3(a,b,c)
+# else
+# define cat3t(a,b,c) cat3(a,c,b)
+# endif
+
+# define vccast(name) (*(const double *)(cat3(name,,x)))
+
+ /*
+ * Define a constant to high precision on a Vax or Tahoe.
+ *
+ * Args are the name to define, the decimal floating point value,
+ * four 16-bit chunks of the float value in hex
+ * (because the vax and tahoe differ in float format!), the power
+ * of 2 of the hex-float exponent, and the hex-float mantissa.
+ * Most of these arguments are not used at compile time; they are
+ * used in a post-check to make sure the constants were compiled
+ * correctly.
+ *
+ * People who want to use the constant will have to do their own
+ * #define foo vccast(foo)
+ * since CPP cannot do this for them from inside another macro (sigh).
+ * We define "vccast" if this needs doing.
+ */
+# define vc(name, value, x1,x2,x3,x4, bexp, xval) \
+ const static long cat3(name,,x)[] = {cat3t(0x,x1,x2), cat3t(0x,x3,x4)};
+
+# define ic(name, value, bexp, xval) ;
+
+#else /* vax or tahoe */
+
+ /* Hooray, we have an IEEE machine */
+# undef vccast
+# define vc(name, value, x1,x2,x3,x4, bexp, xval) ;
+
+# define ic(name, value, bexp, xval) \
+ const static double name = value;
+
+#endif /* defined(vax)||defined(tahoe) */
+
+const static double ln2hi = 6.9314718055829871446E-1;
+const static double ln2lo = 1.6465949582897081279E-12;
+const static double lnhuge = 9.4961163736712506989E1;
+const static double lntiny = -9.5654310917272452386E1;
+const static double invln2 = 1.4426950408889634148E0;
+const static double ep1 = 1.6666666666666601904E-1;
+const static double ep2 = -2.7777777777015593384E-3;
+const static double ep3 = 6.6137563214379343612E-5;
+const static double ep4 = -1.6533902205465251539E-6;
+const static double ep5 = 4.1381367970572384604E-8;
+
+/* returns exp(r = x + c) for |c| < |x| with no overlap. */
+double __exp__D(x, c)
+double x, c;
+{
+ double z,hi,lo, t;
+ int k;
+
+#if !defined(vax)&&!defined(tahoe)
+ if (x!=x) return(x); /* x is NaN */
+#endif /* !defined(vax)&&!defined(tahoe) */
+ if ( x <= lnhuge ) {
+ if ( x >= lntiny ) {
+
+ /* argument reduction : x --> x - k*ln2 */
+ z = invln2*x;
+ k = z + copysign(.5, x);
+
+ /* express (x+c)-k*ln2 as hi-lo and let x=hi-lo rounded */
+
+ hi=(x-k*ln2hi); /* Exact. */
+ x= hi - (lo = k*ln2lo-c);
+ /* return 2^k*[1+x+x*c/(2+c)] */
+ z=x*x;
+ c= x - z*(ep1+z*(ep2+z*(ep3+z*(ep4+z*ep5))));
+ c = (x*c)/(2.0-c);
+
+ return scalb(1.+(hi-(lo - c)), k);
+ }
+ /* end of x > lntiny */
+
+ else
+ /* exp(-big#) underflows to zero */
+ if(finite(x)) return(scalb(1.0,-5000));
+
+ /* exp(-INF) is zero */
+ else return(0.0);
+ }
+ /* end of x < lnhuge */
+
+ else
+ /* exp(INF) is INF, exp(+big#) overflows to INF */
+ return( finite(x) ? scalb(1.0,5000) : x);
+}
+
/* Modified Nov 30, 1992 P. McILROY:
@@ -157,3 +262,3 @@ static char sccsid[] = "@(#)erf.c 8.1 (B
-static double
+const static double
tiny = 1e-300,
@@ -320,3 +425,3 @@ double erfc(x)
{
- double R,S,P,Q,s,ax,y,z,r,fabs(),__exp__D();
+ double R,S,P,Q,s,ax,y,z,r,fabs();
if (!finite(x)) {
Index: missing/crypt.c
===================================================================
RCS file: /var/cvs/src/ruby/missing/crypt.c,v
retrieving revision 1.2
diff -p -u -1 -r1.2 crypt.c
--- missing/crypt.c 1 Jul 2005 03:24:49 -0000 1.2
+++ missing/crypt.c 1 Jul 2005 05:55:37 -0000
@@ -36,5 +36,13 @@ static char sccsid[] = "@(#)crypt.c 8.1
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#endif
#include <limits.h>
+#ifdef HAVE_PWD_H
#include <pwd.h>
+#endif
+#include <stdio.h>
+#ifndef _PASSWORD_EFMT1
+#define _PASSWORD_EFMT1 '_'
+#endif