DebianでPerlのDB_Fileモジュールのインストールに失敗した時の対処法

DebianでPerlのDB_Fileモジュールのインストールに失敗した時の対処法#interest_aeおがた (@xtetsuji) です。

cpanmでLiBotを入れようとしたらDB_Fileモジュールが入らないとエラーが出たので、~/.cpanm/build.log をみたら「db.hがない」といったエラーが出ていました。

サーバはDebianだったので、UbuntuなどのDebian系OSであれば同じ方法でいけると思いますが、以下の方法でdb.hを配置することができるようです。

$ sudo apt-get install libdb-dev

このapt-getが無事終わったら、cpanm で DB_File モジュールが入ります。

検索したら、他のサイトでは「手作業でtarボールを落としてきて…」とか書かれていて「Debian系ではそこまでする必要はないんじゃ」と思ったので手元で試行錯誤したら上述の方法でうまくいったというメモでした。apt-cache search berkeleydb して出てきたパッケージの中からもっとも有力そうなものを入れたらたまたまうまくいったというだけですが。

よく確認していませんが、perlbrewやplenvではない「システムPerl」を使う場合であれば、Debian の libmldbm-perl パッケージで DB_File モジュールが入るようです。ただ、LiBotのような新しめのモジュールはパッケージとして提供されていないので、ユーザPerl環境を作るか、cpan2deb (dh-make-perl) コマンドを使うなりして自分だけのCPAN配布パッケージのDebianパッケージを作る必要があるでしょう…が、この作業はPerlモジュールの依存関係が深くなればなるほどしんどい…。個人用途で縛りのない環境であれば、ユーザPerl環境を作るほうが楽な時代でしょう。

さて、本題のLingrで遊ぶ作業の続きでもしようかな。

参考:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です