2012-06-08 1 views
1

오라클은 Oracle 11g 데이터베이스가있는 64 비트 Solaris 11 시스템에서 CPANM을 사용하여 CGI 모듈, DBI 모듈 및 DBD :: Oracle 드라이버의 조합을 설치하려고했습니다. . CPANM을 사용하여 DBD :: Oracle을 설치하려고 할 때 오류가 발생했습니다

내가 그 Perlbrew를 사용하여 펄의 최신 버전으로 업데이트 CPANM를 설치 한 후 다음 ...

cpanm -v -f -i CGI 
cpanm -v -f -i DBI 

그리고 그 모듈 모두 잘 설치가의 DBI 작은 테스트 오류가 있었나요했다 (t /zvxnp_85gofer.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. 

나는 wrong ELF class: ELFCLASS64에서 64 비트 바이너리 사이의 불일치와이 드라이버가 32 비트 바이너리를 설치해야한다고 추측하고 있습니다. 일부 연구에 따르면 설치를 계속하려면 lib32 디렉토리를 찾아야하지만 찾지 못하는 것으로 나타났습니다.

내가 그랬어 :

echo $ORACLE_HOME --->/옵션/오라클/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는 없습니다. 이전에이 문제를 경험 한 사람이 있었거나 해결책을 찾았거나 여기에서 계속할 수있는 방법을 알고 있습니까?

답변

2

나는 동일한 문제가있었습니다. perl 설치를 위해 ./Configure -es -Dprefix=$HOME/usr/local -Dcc=gcc -Duse64bitall -Dusethreads을 수행하여 수정했습니다.

2

oracle.com에서 1271236.1 및 883702.1을 참조하십시오. 11i 클라이언트 설치를 위해 32 비트 라이브러리를 얻는 방법을 설명합니다.

+0

@MichaelIN 어쩌면이 바보 같은 질문 일지 모르지만 그걸 찾는 방법은 무엇입니까? 난 그냥 빠른 구글 검색뿐만 아니라 oracle.com 홈페이지에서 검색을 수행하고 어떤 결과를 찾을 수 없습니다. –

+1

oracle.com 사이트에 있습니다. 기본적으로 문서의 요점은 11i의 클라이언트 소프트웨어가 분리되고 64 비트 서버 설치를 설치하면 32 비트 라이브러리가 제공되지 않는다는 것입니다. 32 비트 클라이언트를 설치하려면 http://download.oracle.com/otn/solaris/oracle11g/R2/solaris.sparc64_11gR2_client32.zip 32 비트 클라이언트를 설치해야합니다. – MichaelN

+0

아, 그래. 그 점에 대해 대단히 감사합니다. 그것을 지금 들여다 볼 것입니다. –