[#44757] [ruby-trunk - Bug #5533][Assigned] Pathname's raising "invalid sequence" — Shyouhei Urabe <shyouhei@...>
5 messages
2011/11/01
[#44775] [ruby-trunk - Feature #5549][Open] Comparable#min, Comparable#max — Tsuyoshi Sawada <sawadatsuyoshi@...>
4 messages
2011/11/02
[#44796] [Backport93 - Backport #5565][Open] STDOUT.puts writes LF (not CR+LF) in textmode — Usaku NAKAMURA <redmine@...>
6 messages
2011/11/03
[#44800] [ruby-trunk - Bug #5576][Open] [Universal Newline]改行コードが"\r\n"で出力されない — pegacorn jp <subscriber.jp+ruby-redmine@...>
8 messages
2011/11/06
[#44817] [ruby-trunk - Feature #5584][Open] Array#sample! — Masaki Matsushita <glass.saga@...>
12 messages
2011/11/07
[#44837] [ruby-trunk - Bug #5593][Open] Windows上で \\.\ から始まるデバイスをopenするとクラッシュ — 宗介 相良 <snowjail@...>
5 messages
2011/11/08
[#44850] [ruby-trunk - Feature #5606][Open] String#each_match(regexp) — Tomoaki Nishiyama <tomoakin@...>
5 messages
2011/11/10
[#44853] [ruby-trunk - Bug #5608][Open] make -j 16 sometimes fail — Tomoaki Nishiyama <tomoakin@...>
5 messages
2011/11/10
[#44870] Re: [ruby-cvs:40906] kosaki:r33728 (trunk): * test/ruby/test_io.rb (test_fcntl_dupfd): skip if Fcntl::DUPFD — Tanaka Akira <akr@...>
2011/11/13 <kosaki@ruby-lang.org>:
3 messages
2011/11/14
[#44899] Re: [ruby-cvs:41015] kosaki:r33837 (trunk): * configure.in: turn on PIE if --enable-shared is not specified. — Tanaka Akira <akr@...>
2011/11/25 <kosaki@ruby-lang.org>:
3 messages
2011/11/27
[#44904] [ruby-trunk - Bug #5688][Open] Solaris10 で spawn を繰り返すとメモリリークする — okkez _ <redmine@...>
14 messages
2011/11/29
[#44922] [ruby-trunk - Bug #5688] Solaris10 で spawn を繰り返すとメモリリークする
— okkez _ <redmine@...>
2011/12/02
[#44906] [ruby-trunk - Bug #5689][Open] class variables inside of instance methods inside of "class_eval" — Shyouhei Urabe <shyouhei@...>
5 messages
2011/11/30
[ruby-dev:44884] Re: [Bug #3385] ext/dbm: accept various version of db
From:
Tanaka Akira <akr@...>
Date:
2011-11-16 14:55:59 UTC
List:
ruby-dev #44884
2011年11月12日8:14 Tanaka Akira <akr@fsij.org>:
> ここの部分ですが、have_type("dbm", ["db.h", h], hsearch)} を
> 加えているのはなんででしょう?
探したところ、pkgsrc の
Both db.h and ndbm.1 must be included to use DBM. Use both headers
in extconf.rb to check the availability of DBM. This makes the package
build on Darwin.
http://pkgsrc.se/files.php?messageId=20070119195046.48E15211CA@cvs.netbsd.org
というのが元のようで、Darwin では db.h と ndbm.h の両方を include しないと
DBM が使えないという話のようです。
しかし、どうもこれは信じ難いです。
このパッチは extconf.rb で db.h を使って DBM という型を確認するものですが、
dbm.c では db.h を include するようにはなっていません。
そして、それでも dbm がコンパイルできる以上 DBM という型は使えているはずです。
この部分を外して現在の Darwin でも問題ないようなら、
外してしまいたいんですが、どうですかね。
どなたか試していただけないでしょうか。
1.9.3 なら以下のパッチで外れます。
% svn diff --diff-cmd diff -x '-u -p'
Index: ext/dbm/extconf.rb
===================================================================
--- ext/dbm/extconf.rb (revision 33774)
+++ ext/dbm/extconf.rb (working copy)
@@ -39,8 +39,7 @@ def headers.db_check(db)
db_prefix ||= ""
if (have_library(db, db_prefix+"dbm_open") ||
have_func(db_prefix+"dbm_open")) and
- hdr = self.fetch(db, ["ndbm.h"]).find {|h| have_type("DBM", h,
hsearch)} or
- hdr = self.fetch(db, ["ndbm.h"]).find {|h| have_type("DBM",
["db.h", h], hsearch)}
+ hdr = self.fetch(db, ["ndbm.h"]).find {|h| have_type("DBM", h, hsearch)}
have_func(db_prefix+"dbm_clearerr") unless have_gdbm
$defs << hsearch if hsearch
$defs << '-DDBM_HDR="<'+hdr+'>"'
trunk はいろいろと変わっていますが、以下のパッチで相当する部分を外せます。
% svn diff --diff-cmd diff -x '-u -p'
Index: ext/dbm/extconf.rb
===================================================================
--- ext/dbm/extconf.rb (revision 33774)
+++ ext/dbm/extconf.rb (working copy)
@@ -50,7 +50,7 @@ def headers.db_check2(db, hdr)
have_library("gdbm") or return false
end
- if (have_type("DBM", hdr, hsearch) || have_type("DBM", ["db.h",
hdr], hsearch)) and
+ if have_type("DBM", hdr, hsearch) and
(db == 'libc' ? have_func('dbm_open("", 0, 0)', hdr, hsearch) :
have_library(db, 'dbm_open("", 0, 0)', hdr, hsearch)) and
have_func('dbm_clearerr((DBM *)0)', hdr, hsearch)
--
[田中 哲][たなか あきら][Tanaka Akira]