GDBMを使いたいのですが・・・

恐れ入ります、マックのperl環境でGDBMを利用したいのですがインストールがうまく行かないようで、四苦八苦しています。
OSXは10.3.9でperlのバージョンは5.8.1です。
標準ではNDBMがインストールされていてperlからは
use NDBM_File.pm;
で利用できるようで、GDBMを利用する場合は
use GDBM_File.pm;
と記述するようです、この GDBM_File.pm は CPAN よりダウンロードいたしましたが、調べてみるとこのモジュールはGDBMを呼び出すためのラッパーに過ぎないとのことで、本体のGDBMをインストールしないと意味がないとのことで下記サイトの要領でインストールを行いました、ちなみに事前にxcodeをインストールしています。
http://www.justatheory.com/computers/os/macosx/my_adventures.html
まず、OSXユーティリティの「NetInfo マネージャ」でユーザ「unknown」を元に「bin」を作成
ターミナルからsuになって /usr/local/src/ をmkdirする。
そこに
http://www.gnu.org/software/gdbm/gdbm.html
から
gdbm-1.8.3.tar.gz
をダウンロード
cd /usr/local/src/gdbm-1.8.0
cp /usr/libexec/config* . <==何もコピーされなかった
./configure
make
make install
ln -s /usr/local/lib/libgdbm.a /usr/local/lib/libdbm.a
という順序でインストール完了。
で、実際に GDBM_File.pm を use して見たら
Can't locate loadable object for module GDBM_File in @INC (@INC contains:
../lib
/System/Library/Perl/5.8.1/darwin-thread-multi-2level
/System/Library/Perl/5.8.1
/Library/Perl/5.8.1/darwin-thread-multi-2level
/Library/Perl/5.8.1
/Library/Perl
/Network/Library/Perl/5.8.1/darwin-thread-multi-2level
/Network/Library/Perl/5.8.1 /Network/Library/Perl .)
at ./initDBM2 line 6
Compilation failed in require at ./initDBM2 line 6.
BEGIN failed--compilation aborted at ./initDBM2 line 6.
とエラーが出てしまい、前に進めません。
この line 6. が
use GDBM_File.pm;
になります。
ちなみに GDBM_File.pm は /System/Library/Perl/5.8.1/ の中にインストールいたしました。
どなたか、MacOSXでGDBMを利用されている方、また上記の件で何か分かる方おられましたら、お手数ですが教えていただけますでしょうか、よろしくお願いいたします。

投稿日 2005/08/28 08:24

返信: 7

2005/08/28 11:20 Community User への返信

GDBMをインストールした事はありませんが、順序的にはまずgdbmをインストールしてから、再度GDBM_Fileをコンパイルする必要があると思います。ちなみにGDBM_Fileはどのようにインストールされましたか?

2005/08/28 11:34 Community User への返信

早速の返答感謝いたします。
すいません書き方が間違っていましたがインストールの順序は gdbmを書いてある手順でインストールしてからGDBM_File.pmをインストールしました。
で、GDBM_File.pmは下記のサイトから
http://search.cpan.org/〜nwclark/perl-5.8.7/ext/GDBM_File/GDBM_File.pm
ソースをダウンロードしただけです、このソースがperl moduleその物なのでコンパイルは出来ないのではないかと思いますが・・・。
また最初のuseの書き方ですが訂正します。
訂正前:use GDBM_File.pm;
訂正後:use GDBM_File;
でした申し訳ありません・・・。

2005/08/28 11:39 Community User への返信

すいません
内容中のURLに書いてあるチルダがどうしても全角になってしまいます半角に書き直してリンクしてみてください。

2005/08/28 12:06 Community User への返信

すいません。いったんレスしましたが、自分の環境で試してから、と思い直して削除したんですが、レスが付いちゃったですね。
CPANからモジュールをインストールする場合、バイナリをダウンロードしてはダメと思いますが。(perlのバージョンも違ってますよね。)perlでcpanモードにして、installするのが普通ではないでしょうか。
ちょっと私の環境(10.3のデフォルト状態:perl v5.8.1)でやってみましたが、install GDBM_Fileではやはり5.8.7でないとダメ、みたいなメッセージが出まして、force installしたら、perl5.8.7のインストールから始まっちゃいました。なんとか/usr/local/binにperl5.8.7がインストールされ、/usr/local/lib/perl5/5.8.7/darwin-2levelにGDBM_Fileがインストールされました。
/usr/local/bin/perl -e '{use GDBM_File;}'でもエラーは出ませんので、正しくインストールされたと思います。

2005/08/28 12:31 Community User への返信

あ〜削除されたんですね、返信したらKawabeさんの書き込みが無くなってしまったのでびっひりしました。
本題ですが、助かります僕はその辺の知識が浅いので知りませんでした・・・。そのcpanモードと言うのでインストールするのですね?
今調べてみたのですが
perl -MCPAN -shell
install GDBM_File
とうふうにされたのですか?
で、バージョンが古かったということでだったのですね?
でforce install?をしたということですね。
・・・結構難しそうですね。
すいませんお手数おかけいたしますが、簡単にやり方を教えていただけますでしょうか?もしくわそのあたりのやり方を記したサイトのアドレスでも構いませんので、差し支えなければお願いいたします。
ちなみに、そのcpanモードとかでGDBM_Fileをインストールしたらgdbmも自動的にインストールされるのですか?

2005/08/28 12:57 Community User への返信

>perl -MCPAN -shell
install GDBM_File
とうふうにされたのですか?
そうです。すると、perl5.8.7でないからインストールできない、と言ってくるので、force install GDBM_Fileをやりました。(perlのインストールで延々とプロンプトが出ますが、全部デフォルトにしました。)
>panモードとかでGDBM_Fileをインストールしたらgdbmも自動的にインストールされるのですか?
いえ、こちらは先にインストールしてあります。(darwinports使用。finkでも可。)コンパイルに必要なライブラリですので、無いとインストールできないと思います。

2005/08/29 07:29 Community User への返信

どうもお世話になります。
先程、CPANモードでインストールいたしました。言われましたとおりバージョンの指摘をされたのでforceでインストールしたらなんか色々聞かれましたけど最初のyesかnoを答えるところだけnoにして後は全て空うちして何とかインストールが終了しperl5.8.7が入りGDBM_Fileを認識してくれました。
どうもありがとうございました、大変勉強になりました。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

GDBMを使いたいのですが・・・

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。