4

Perl モジュールが必要な場合、通常は CPAN を使用します。それは正常に動作します。しかし、今回はそうではありません。

MARC::Charset を使用したいのですが、これは GDBM_File を使用しており、CPAN から GDBM_File をインストールできないようです。

CPAN は問題ないと判断しましたが、インストールしようとすると、完全な Perl 5.10.1 ディストリビューションのインストールが開始されます。

MARC::Charset はかなり古いモジュールなので、一般的な Perl バージョンから使用する方法があるはずです (Mac OS X 10.6.2 にはデフォルトで 5.10.0 と 5.8.9 があります)。

完全な Perl 5.10.1 をインストールすることは選択肢ではありませんが、MARC::Charset を変更して GDBM_File の使用を停止することは選択肢の 1 つかもしれません。そうするための最善の行動は何でしょうか?

この最後の選択肢が唯一の選択肢かもしれません。GDBM_File をググると、gdbm が Mac でさえ利用できないことを示唆するいくつかの項目が明らかになります。しかし、それらのアイテムは通常、私の頭を通り過ぎました。

私は特効薬を期待していませんが、誰かが私がどこから始めるべきかについて1つか2つの指針を持っているかもしれません.

結局のところ、MARC::Charset は marc8 文字セットとの間で文字の音訳を行うだけであり、残念ながら、iconv はサポートしていないようです。

4

3 に答える 3

6

GDBM_Fileコア Perl モジュールです。これが、このモジュールをインストールするときに Perl を最新バージョンにアップグレードしようとする理由です。

Mac OS X にはGDBMが付属していないようです。そのため、提供されている開発言語で必要なモジュールをビルドして含めていません。そして、これはかなり長い間そうであったようです。

したがって、最初の障害はGDBMのインストール/コンパイルです。MacPorts はパッケージを提供しています。

GDBM_Fileは XS モジュールなので、コンパイルする必要があります。Perl 5.10.0GDBM_File codeここにあります。

ところで:バージョン1.1(最新バージョン)でMARC::Charsetのみ切り替えました。Mac OS X の Perl に付属している以前のバージョン1.0を使用しました (ただし、個人的には動作をテストしていません)。GDBM_FileSDBM_File

そのため、MARC::Charsetの以前のバージョンをダウンロードする方が良いオプションであることに気付くかもしれません。

于 2010-01-28T13:34:02.650 に答える
1

MARC::Charset を修正して GDBM_File が不要になるようにするか、独自の Perl をビルドします。

正直なところ、独自の Perl を構築する方がおそらく高速で安全です。以前に Perl をインストールしたことがない場合は、/opt/local/bin/perl にインストールされるMacPorts ( http://macports.org ) を使用することをお勧めします。その後、「/opt/local/bin/cpan MARC::Charset」を使用して、必要なモジュールをインストールできます。

MacPorts はデフォルトでスレッド化された Perl をビルドしません - インストールに woojy-woojy があることは知っていますが、私は最初にスレッドに触れたときからスレッドにアレルギーがあり、それが何であるかを理解することを気にしたことがありません。

于 2010-01-28T10:25:54.767 に答える
0

最終的に、以前のバージョンの MARC::Charset を使用して問題を解決しました。以前のバージョンでは GDBM_File を使用せず、別の機能を使用していました。それがバージョン間の唯一の変更であり、変更の理由は述べられていません。

以前のバージョンを使用すると、すべてが修正されました。

于 2010-03-21T11:08:08.593 に答える