[ruby-dev:50898] DBMモジュールが使うバックエンドをrubyをビルドする際に指定する方法について
From:
Yasuhiro KIMURA <yasu@...>
Date:
2019-12-20 03:05:44 UTC
List:
ruby-dev #50898
木村と申します。 ruby-listとどちらで尋ねるか迷いましたが、rubyのプログラミングの話では なく、rubyのビルドに関する話なのでこちらで。 Rubyのソースのext/dbm/extconf.rbによると、DBMモジュールはバックエンド として複数のDBMライブラリ(libcのndbm、Berkley DB, GDBM, QDBM)をサポー トしています。そして、どのライブラリを使うかを明示的に指定したい場合に は、extconf.rbに対して--with-dbm-typeオプションを追加すれば指定できる ようです。例えばバックエンドとしてQDBMを使いたい場合には、QDBMをインス トールした後に tar xfpvJ ruby-2.6.5.tar.xz cd ruby-2.6.5/ext/dbm ruby extconf.rb --with-dbm-type=qdbm make とすれば、libqdbm.soがリンクされたdbm.soがビルドされます。 それではext/dbm単独ではなくruby全体をビルドする際に、DBMモジュールが用 いるバックエンドを指定するには、どのようにしたら良いのでしょうか。試し に tar xfpvJ ruby-2.6.5.tar.xz cd ruby-2.6.5 ./configure --with-dbm-type=qdbm make としてみましたが、ext/dbm/extconf.rbにはconfigureで指定し た--with-dbm-typeオプションは渡されないようです。パッチを当てたりせず に指定できる方法がありましたら、教えてください。 --- 木村 康浩