Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 尝试使用CPANM安装DBD::Oracle时出错_Perl_Oracle_Oracle11g_Solaris_Cpan - Fatal编程技术网

Perl 尝试使用CPANM安装DBD::Oracle时出错

Perl 尝试使用CPANM安装DBD::Oracle时出错,perl,oracle,oracle11g,solaris,cpan,Perl,Oracle,Oracle11g,Solaris,Cpan,好的,所以我尝试在64位Solaris 11机器上安装CGI模块、DBI模块和DBD::Oracle驱动程序的组合,该机器带有Oracle11g数据库 我使用Perlbrew安装了最新版本的Perl,更新了CPANM,然后执行了以下操作 cpanm -v -f -i CGI cpanm -v -f -i DBI 这两个模块都安装得很好,当我尝试正常安装时,DBI确实有一个小的测试错误t/zvxnp͒gofer.t,但是强制安装似乎有效 然后我试着安装我需要的最后一部分: cpanm -v -f

好的,所以我尝试在64位Solaris 11机器上安装CGI模块、DBI模块和DBD::Oracle驱动程序的组合,该机器带有Oracle11g数据库

我使用Perlbrew安装了最新版本的Perl,更新了CPANM,然后执行了以下操作

cpanm -v -f -i CGI
cpanm -v -f -i DBI
这两个模块都安装得很好,当我尝试正常安装时,DBI确实有一个小的测试错误t/zvxnp͒gofer.t,但是强制安装似乎有效

然后我试着安装我需要的最后一部分:

cpanm -v -f -i DBD::Oracle
这就是安装快结束时出现的错误

Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/opt/oracle/rdbms/lib" gcc  -G -L/usr/gnu/lib -fstack-protector Oracle.o  dbdimp.o  oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.so     \
   -L/opt/oracle/rdbms/lib/ -lclntsh -lkstat -lnsl -lsocket -lresolv -lgen -ldl -lsched -lrt -R/opt/oracle/rdbms/lib -laio -lposix4 -lkstat -lm -lpthread   \

ld: fatal: file /opt/oracle/rdbms/lib//libclntsh.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to blib/arch/auto/DBD/Oracle/Oracle.so
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `blib/arch/auto/DBD/Oracle/Oracle.so'
FAIL
! Installing DBD::Oracle failed. See /home/oracle/.cpanm/build.log for details.
我只是从错误的ELF类猜测:ELF类64它与现有的64位二进制文件之间的一些不匹配有关,而该驱动程序需要安装32位二进制文件?一些研究表明,我需要找到lib32目录才能继续安装,但我似乎找不到它

我做到了:

echo$ORACLE_HOME-->/opt/ORACLE/rdbms ls$ORACLE_HOME

返回了以下目录

apex              emcli             mgw               rdbms
assistants        has               network           relnotes
bin               hs                nls               root.sh
ccr               ide               oc4j              scheduler
cdata             install           odbc              slax
cfgtoollogs       install.platform  olap              sqldeveloper
clone             instantclient     ons               sqlj
config            inventory         OPatch            sqlplus
crs               j2ee              opmn              srvm
csmig             javavm            oracore           sysman
css               jdbc              oraInst.loc       timingframework
ctx               jdev              ord               ucp
cv                jdk               oui               uix
dbs               jlib              owb               utl
dc_ocm            ldap              owm               wwg
deinstall         lib64             perl              xdk
demo              log               plsql
diagnostics       md                precomp
dv                mesg              racg

所以我看到一个lib64,但没有lib或lib32。以前有没有人遇到过这个问题,找到了解决方案,或者知道我如何从这里继续下去?

请查看oracle.com上的1271236.1和883702.1。它将解释如何获取用于11i客户端安装的32位库。

请查看oracle.com上的1271236.1和883702.1。它将解释如何获得用于11i客户端安装的32位库。

我也有同样的问题。通过执行./Configure-es-Dprefix=$HOME/usr/local-Dcc=gcc-Duse64bitall-Dusethreads for perl安装修复了这个问题。通过这样做修复了它。/Configure-es-Dprefix=$HOME/usr/local-Dcc=gcc-Duse64bitall-Dusethreads for perl安装

@MichaelIN也许这是一个愚蠢的问题,但我该如何找到它们呢?我只是在谷歌上快速搜索了一下,也在oracle.com主页上搜索了一下,没有找到任何结果。它们都在oracle.com网站上。基本上,这些文档的要点是,从11i开始,客户端软件是分开的,安装64位服务器安装不提供32位库。您需要安装32位客户端才能获得32位库。啊,好的。非常感谢。“我现在会调查的。”迈克尔林也许这是一个愚蠢的问题,但我该如何着手寻找这些问题呢?我只是在谷歌上快速搜索了一下,也在oracle.com主页上搜索了一下,没有找到任何结果。它们都在oracle.com网站上。基本上,这些文档的要点是,从11i开始,客户端软件是分开的,安装64位服务器安装不提供32位库。您需要安装32位客户端才能获得32位库。啊,好的。非常感谢。我现在会调查的。