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 目录添加到路径中。

那么为什么 yum 说它可以解决它,然后又说它不能呢?

4

2 回答 2

2

DBD::Oracle是众所周知的最难安装的 CPAN 模块之一。在过去十年中,我安装了许多 CPAN 模块,每次我必须安装DBD::Oracle时,我都会猛吸一口气,为数小时的痛苦做好准备。

我最近在 64 位 Ubuntu 12.04.2 LTS 桌面上安装了DBD::Oracle 。让我看看我是否记得我做了什么。

从我下载的 Oracle 网站:

  • 即时客户端-基本-linux.x64-11.2.0.3.0.zip
  • Instantclient-sdk-linux.x64-11.2.0.3.0.zip
  • 即时客户端-sqlplus-linux.x64-11.2.0.3.0.zip

我创建了一个目录/usr/local/oracle,更改为该目录,然后解压缩所有三个文件。

然后我跑了:

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 回答
0

看起来它可以安装在较新版本的 Red Hat 上。我们将 6.4 放在虚拟机上,一切都安装得很好,所以看起来这就是一个答案。

于 2013-07-08T03:41:24.320 回答