DBD::Oracle
모듈을 Cygwin에 설치하고 싶습니다. C:\Oracle\instantclient_12_1
에 Oracle Instant Client (버전 12.1)를 다운로드했습니다. 또한 SDK와 SQLPlus를 다운로드하여 instantclient_12_1 디렉토리에 압축을 풉니 다. ORACLE_HOME 경로를 export ORACLE_HOME=/cygdrive/c/Oracle/instantclient_12_1
으로 설정하고 LD_LIBRARY_PATH를 export LD_LIBRARY_PATH=/cygdrive/c/Oracle/instantclient_12_1/lib
으로 설정했습니다. 패키지를 설치하려고하면 다음과 같은 메시지가 나타납니다.Cygwin에서 DBD :: Oracle을 설치하는 데 도움이 필요합니다.
I'm having trouble finding your Oracle version number... trying harder
WARNING: I could not determine Oracle client version so I'll just
default to version 8.0.0.0. Some features of DBD::Oracle may not work.
Oracle version based logic in Makefile.PL may produce erroneous results.
You can use "perl Makefile.PL -V X.Y.Z" to specify a your client version.
Oracle version 8.0.0.0 (8.0)
DBD::Oracle no longer supports Oracle client versions before 9.2
Try a version before 1.25 for 9 and 1.18 for 8! at Makefile.PL line 271.
Warning: No success on command[/usr/bin/perl Makefile.PL]
'YAML' not installed, will not store persistent state
PYTHIAN/DBD-Oracle-1.66.tar.gz
/usr/bin/perl Makefile.PL -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
왜 설치 프로그램에서 버전을 감지 할 수 없습니까? 모듈을 성공적으로 설치하려면 어떻게해야합니까?
편집 : 아래 제안에 따라 perl Makefile.PL -V 12.1.0
을 시도했습니다. 나뿐만 출력 가지고 :
Installing on a cygwin, Ver#1.7
Using Oracle in /cygdrive/c/Oracle/instantclient_12_1
If sqlplus failed due to a linker/symbol/relocation/library error or similar problem
then it's likely that you've not configured your environment correctly.
Specifically, your PATH environment variable
set to include the directory containing the Oracle libraries.
Forcing Oracle version to be treated as 12.1.0
Oracle version 12.1.0 (12.1)
Using OCI directory 'sdk'
client_version=12.1
DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0\" -DORA_OCI_102 -DORA_OCI_112
Checking for functioning wait.ph
System: perl5.014004 cygwin_nt-6.1 yaakov04 1.7.18(0.26353) 2013-03-07 19:25 x86_64 cygwin
Compiler: gcc -O3 -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -fstack-protector
Linker: /usr/bin/ld
Sysliblist:
Checking if your kit is complete...
Looks good
LD_RUN_PATH=/cygdrive/c/Oracle/instantclient_12_1/lib:/cygdrive/c/Oracle/instantclient_12_1/rdbms/lib
Using DBD::Oracle 1.66.
Using DBD::Oracle 1.66.
Using DBI 1.623 (for perl 5.014004 on cygwin-thread-multi) installed in /usr/lib/perl5/vendor_perl/5.14/x86_64-cygwin-threads/auto/DBI/
Generating a GNU-style Makefile
Writing Makefile for DBD::Oracle
Writing MYMETA.yml and MYMETA.json
그러나 make, make test and make install
후, 모듈이 여전히 제대로 설치되지 않습니다 나는이 사용하는 스크립트를 실행할 수 없습니다 (make test
는 37/38이 경우 실패 반환). 진행 방법을 볼 수 없습니다.
http://stackoverflow.com/a/11408088/1251660 – slayedbylucifer
이 연결된 질문은 cygwin과 관련이 없습니다. 내가 설정하고있는 ORACLE_HOME이 DOS 형식인지 아니면 POSIX인지 알아야합니다. 또한 단순히 cpan에서 모듈을 다운로드 한 다음 수동으로 설치하지 않고 설치할 수 있습니까? – user828647
링크 된 답변에 'LD_LIBRARY_PATH'설정이 언급되어 있지만 언급하지 않았습니다. 당신은 그것을 설정했고, 그 가치는 무엇입니까? – Joel