[ruby-dev:50899] Re: DBMモジュールが使うバックエンドをrubyをビルドする際に指定する方法について
From:
Tanaka Akira <akr@...>
Date:
2019-12-20 05:43:23 UTC
List:
ruby-dev #50899
2019年12月20日(金) 12:06 Yasuhiro KIMURA <yasu@utahime.org>: > それでは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オプションは渡されないようです。パッチを当てたりせず > に指定できる方法がありましたら、教えてください。 とりあえず ruby-2.6.5 で ./configure --with-dbm-type=qdbm は動く気がします。 % sudo apt install libqdbm-dev % mkdir /tmp/a % cd /tmp/a % ./configure --with-dbm-type=qdbm --prefix=/tmp/a % make % grep -i qdbm ext/dbm/extconf.h #define RUBYDBM_DBM_HEADER "qdbm/relic.h" #define RUBYDBM_DBM_TYPE "qdbm" #define DBM_HDR <qdbm/relic.h> % ldd ./.ext/x86_64-linux/dbm.so linux-vdso.so.1 (0x00007fff103e7000) libqdbm.so.14 => /lib/libqdbm.so.14 (0x00007fda759c5000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fda75842000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fda75681000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fda75463000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fda75442000) /lib64/ld-linux-x86-64.so.2 (0x00007fda75a2f000) libqdbm がリンクされているのが確認できます。 -- [田中 哲][たなか あきら][Tanaka Akira]