[#31927] Re: Problem with Ruby 1.8.6-p110 on DragonFly (was [PATCH] Problem with ruby 1.8.6-p36 (and p39) on Tiger) — Takahiro Kambe <taca@...>
こんばんは。
[#31928] securerandom.rb for 1.8 — Tanaka Akira <akr@...>
securerandom.rb を 1.8 に追加し、cgi/session.rb に使わせたい
At Wed, 3 Oct 2007 12:49:20 +0900,
In article <86k5pwinco.knu@iDaemons.org>,
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
[#31936] Rake添付 — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
-----BEGIN PGP SIGNED MESSAGE-----
NAKAMURA, Hiroshi さんは書きました:
At Wed, 10 Oct 2007 16:46:01 +0900,
-----BEGIN PGP SIGNED MESSAGE-----
[#31941] Re: [ruby-list:44071] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...>
前田です。
-----BEGIN PGP SIGNED MESSAGE-----
前田です。
-----BEGIN PGP SIGNED MESSAGE-----
前田です。
In message <47063403.3070402@ruby-lang.org>,
In message <20071006.101915.596518898.gotoyuzo@sawara.priv.tokyo.netlab.jp>,
前田です。
In message <4709852A.1020606@ruby-lang.org>,
-----BEGIN PGP SIGNED MESSAGE-----
In message <470D9227.9090008@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
[#31959] pcc: constant too big for cross-compiler — "NARUSE, Yui" <naruse@...>
成瀬です。
In article <470884D1.9040401@airemix.com>,
[#31980] multibyte string/regex literal with escape sequence — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
成瀬です。
こんにちは、なかむら(う)です。
In article <20071010091006.1988.USA@garbagecollect.jp>,
成瀬です。
In article <471003CB.7060701@airemix.com>,
成瀬です。
[#32049] Re: iconv enhancement in Ruby 1.9 — Nobuyoshi Nakada <nobu@...>
なかだです。
[#32133] undefined method `now' for DateTime:Class (NoMethodError) — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
どういう状況かよくわかってないのですが、いっそ必ず date 丸ごと読むようにするか、
-----BEGIN PGP SIGNED MESSAGE-----
> もしかして、単にtime.rbの「require 'parsedate'」を削ればいいだけだったり
-----BEGIN PGP SIGNED MESSAGE-----
> 確かに。で、1.9でparsedate.rbがなくなることを考えると、とりあえずtime.rb
In article <4b1598ce0710231835p1a0b3040kcc89bf0017a60c21@mail.gmail.com>,
[ruby-dev:31927] Re: Problem with Ruby 1.8.6-p110 on DragonFly (was [PATCH] Problem with ruby 1.8.6-p36 (and p39) on Tiger)
こんばんは。
DragonFly BSD上でRuby 1.8.6 p110を、そのまま作成しようとすると、
% sh configure --enable-pthread --enable-shared
...
% make
ar rcu libruby-static.a array.o bignum.o class.o compar.o dir.o dln.o enum.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o isnan.o isinf.o dmyext.o
gcc -g -O2 -fPIC -DRUBY_EXPORT -I. -I. -c main.c
gcc -g -O2 -fPIC -DRUBY_EXPORT -L. -rdynamic main.o libruby-static.a -lcrypt -lm -o miniruby
libruby-static.a(eval.o)(.text+0x15002): In function `rb_thread_start_0':
/var/tmp/ruby-1.8.6-p110/eval.c:11945: undefined reference to `pthread_create'
libruby-static.a(eval.o)(.text+0x1501e):/var/tmp/ruby-1.8.6-p110/eval.c:11947: undefined reference to `pthread_atfork'
*** Error code 1
Stop in /var/tmp/ruby-1.8.6-p110.
と、なります。pthreadなライブラリはlibc_r.{a,so}に含まれているようです。
一方、pkgsrcな枠組みの中では、上記の問題は面倒見てくれているのですが、
今度はminirubyのリンク時に、pthread_atfork()が未定義となります。
pthread_atfork()は /usr/lib/libthread_xu.so といったあたりにあるようで、
最終的にはlibc_r.soを置き換えるような位置付けのライブラリのようです。
(しかし、1.10.1といった最新のリリース以外では、完全ではないようです。)
pkgsrcは 2007Q3 のブランチが近いため、
$NetBSD: patch-ad,v 1.7 2007/10/02 15:59:23 taca Exp $
--- eval.c.orig 2007-09-23 09:01:50.000000000 +0900
+++ eval.c
@@ -11944,7 +11944,9 @@ rb_thread_start_0(fn, arg, th)
#ifdef _THREAD_SAFE
pthread_create(&time_thread, 0, thread_timer, 0);
time_thread_alive_p = 1;
+#ifndef __DragonFly__
pthread_atfork(0, 0, rb_child_atfork);
+#endif
#else
rb_thread_start_timer();
#endif
と、いったパッチでお茶を濁しています。
[ruby-dev:31253]
In message <7d9a1f530707180549j3d21aca7h7689e3e9c555dfc4@mail.gmail.com>
on Wed, 18 Jul 2007 21:49:39 +0900,
"Vincent Isambart" <vincent.isambart@gmail.com> wrote:
> このメールに小さい(pthread_atforkを使ってる)パッチを添付したんです。
> でもこのパッチは本当に正しい直し方であるかどうか…わからないです。
おそらくpthread_atfork()が用意されていない環境もあるということで。
--
神戸 隆博 / Takahiro Kambe
P.S.
私自身はpkgsrcの面倒を見てる立場で書いていますが、DragonFly BSDを常日頃
使用しているわけではありませんが、どなたか動作確認などはされているので
しょうか? (make test-allとかすると、3つくらい引っ掛かるようです。)