「モジュールをビルドできません」というエラーが表示されますか 」OpenCAベース1.5.1のコンパイル中に?はいの場合、このチュートリアルでは同じ問題を修正する方法を説明します。
これが完全なエラーメッセージです。
Build::External PERL modules Building (openca::ac) ... ERROR::Cannot build module make[6]: *** [openca-ac] Error 1 Build::External PERL modules Building (Authen::SASL::215) ... ERROR::Cannot build module
修正方法モジュールをビルドできないエラー
パッケージAuthen::SASL
で「モジュールをビルドできません」というエラーが発生しました 。ただし、このエラーはどのPerlモジュールでも発生する可能性があります。
最初は、パッケージのAuthen::SASL
のように見えました。 システムにインストールされていません。そこで、以下のコマンドを使用してインストールしました:
# perl -MCPAN -e 'install Authen::SASL'
CentOS 6のデフォルトでは、上記のコマンドはAuthen::SASL
をインストールしました バージョン2.16。ただし、エラーは解決しませんでした。後で、OpenCABaseのインストールに必要なすべての外部モジュールがsrc/ext-modules
の下にあることに気付きました。 フォルダ。問題をデバッグするには、ディレクトリをそれぞれのモジュールフォルダに変更し、そのログファイルを確認する必要がありました。たとえば、このエラーの原因となっている外部PerlモジュールはAuthen-SASL-2.15です。したがって、ディレクトリをsrc/ext-modules
の下のAuthen-SASL-2.15に変更します。 。
$ cd src/ext-modules/Authen-SASL-2.15
ログファイルで次のエラーが見つかりました:
$ vi log.err Only one of PREFIX or INSTALL_BASE can be given. Not both.
そのエラーはどういう意味ですか? perl Makefile.PL.
を実行しました
[src/ext-modules/Authen-SASL-2.15]$ perl Makefile.PL
驚いたことに、上記のコマンドはエラーをスローしませんでした。今、私はmake
を試しました openca-base-1.5.1
で ディレクトリを確認し、その特定のPerlモジュールを通過し、次のモジュールのコンパイル中に失敗しました– Convert::ASN1
。
Build::External PERL modules Building (Authen::SASL::215) ... Ok Building (Convert::ASN1::022) ... ERROR::Can not build module
同じように、Convert::ASN1
に切り替えることができます。 src/ext-modules
の下のフォルダ perl Makefile.PL
を試してください OpenCAベースディレクトリに戻り、make
を実行します エラーを修正します。しかし、次にコンパイルする必要がある40個の外部モジュールすべてに対してそれを行うことはできますか?ああ!これは、この問題を解決するための正しい方法ではありません。
エラーを詳しく調べたところ、環境変数PREFIXまたはINSTALL_BASEのいずれかを設定する必要があり、両方を設定する必要はないことがわかりました。そのヒントは、エラーを解決するのに役立ちました。
PerlおよびgrepPERL_MB_OPT
に設定されているすべての環境変数を一覧表示するだけです。 。
# perl -V | grep PERL_MB_OPT PERL_MB_OPT="--install_base /root/perl5"
install_base
が表示されます PERL_MB_OPT
に設定されています 。変数の設定を解除すると、OpenCABaseをコンパイルできます。
#unset PERL_MB_OPT
これで、この問題はsrc/ext-modules
内のすべての外部モジュールでグローバルに修正されました。 。