3

perl-DBD-Oracle-1.19-1.el5.x86_64.rpm パッケージを一日中インストールしようとしています。以下のエラーが表示され続けます。

perl-DBD-Oracle-1.19-1.el5.x86_64 from /perl-DBD-Oracle-1.19-1.el5.x86_64 has depsolving problems
  --> Missing Dependency: libnnz10.so()(64bit) is needed by package perl-DBD-Oracle-1.19-    1.el5.x86_64 (/perl-DBD-Oracle-1.19-1.el5.x86_64)
perl-DBD-Oracle-1.19-1.el5.x86_64 from /perl-DBD-Oracle-1.19-1.el5.x86_64 has depsolving problems
  --> Missing Dependency: libocci.so.10.1()(64bit) is needed by package perl-DBD-Oracle-1.19-1.el5.x86_64 (/perl-DBD-Oracle-1.19-1.el5.x86_64)
perl-DBD-Oracle-1.19-1.el5.x86_64 from /perl-DBD-Oracle-1.19-1.el5.x86_64 has depsolving problems
  --> Missing Dependency: libocijdbc10.so()(64bit) is needed by package perl-DBD-Oracle-1.19-1.el5.x86_64 (/perl-DBD-Oracle-1.19-1.el5.x86_64)
perl-DBD-Oracle-1.19-1.el5.x86_64 from /perl-DBD-Oracle-1.19-1.el5.x86_64 has depsolving problems
  --> Missing Dependency: libclntsh.so.10.1()(64bit) is needed by package perl-DBD-Oracle-1.19-1.el5.x86_64 (/perl-DBD-Oracle-1.19-1.el5.x86_64)
perl-DBD-Oracle-1.19-1.el5.x86_64 from /perl-DBD-Oracle-1.19-1.el5.x86_64 has depsolving problems
  --> Missing Dependency: libociei.so()(64bit) is needed by package perl-DBD-Oracle-1.19-1.el5.x86_64 (/perl-DBD-Oracle-1.19-1.el5.x86_64)

私の知る限り、すべての正しいライブラリがインストールされています。

oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm
oracle-instantclient-devel-10.2.0.5-1.x86_64.rpm
oracle-instantclient-sqlplus-10.2.0.5-1.x86_64.rpm
perl-DBI-1.52-2.el5.x86_64.rpm

そして、不足していると主張するすべてのファイルがインストールされます。たとえば、不足していると主張する最初の依存関係は libnnz10.so ですが、これは /usr/lib/oracle/10.2.0.5/client64/lib/libnnz10.so にインストールされます。また、この依存関係を解決するよう yum に依頼すると、解決されます。

> yum provides */libnnz10.so
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
Excluding Packages in global exclude list
Finished
oracle-instantclient-basic-10.2.0.5-1.x86_64 : Instant Client for Oracle Database 10g
Repo        : installed
Matched from:
Filename    : /usr/lib/oracle/10.2.0.5/client64/lib/libnnz10.so

の変数を設定しました

ORACLE_HOME="/usr/lib/oracle/10.2.0.5/client64"
LD_LIBRARY_PATH="/usr/lib/oracle/10.2.0.5/client64/lib"

上記の lib dir もパスに追加しました。

では、なぜ yum は解決できると言いながら、解決できないと言うのでしょうか?

4

2 に答える 2

2

DBD::Oracleは、よく知られている CPAN モジュールの中で最もインストールが難しいことで知られています。過去 10 年間、多くの CPAN モジュールをインストールしてきました。DBD::Oracleをインストールする必要があるたびに、息を切らして、何時間もの苦痛に備えます。

最近、DBD::Oracleを 64 ビットの Ubuntu 12.04.2 LTS デスクトップにインストールしました。私が何をしたか覚えているかどうか見てみましょう。

ダウンロードしたOracleサイトから:

  • インスタントクライアント-ベーシック-linux.x64-11.2.0.3.0.zip
  • instantclient-sdk-linux.x64-11.2.0.3.0.zip
  • instantclient-sqlplus-linux.x64-11.2.0.3.0.zip

ディレクトリを作成し、/usr/local/oracleそのディレクトリに変更して、3 つのファイルすべてを解凍しました。

それから私は走った:

LD_LIBRARY_PATH=/usr/local/oracle/instantclient_11_2 \
  ORACLE_HOME=/usr/local/oracle/instantclient_11_2 \
  cpan DBD::Oracle

何かやり残したことがあるかもしれません。幸運を。

于 2013-07-02T08:23:55.047 に答える