Próbuję zainstalować moduł Perl DBD :: Oracle na moim serwerze RHEL6.1. Czyniąc tak, ja po następujących kroków:Błąd podczas instalacji DBD :: Oracle
Montaż następujących RPM:
- Oracle instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
- wyrocznię -instantclient12.1 devel-12.1.0.2.0-1.x86_64.rpm
- Oracle instantclient12.1-SQLPLUS-12.1.0.2.0-1.x86_64.rpm
eksportowanie zmienne środowiskowe
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib
Instalowanie DBD :: Oracle
cpan -i DBD::Oracle
Czyniąc tak, to daje następujący komunikat o błędzie:
Installing on a linux, Ver#2.6
Using Oracle in /usr/lib/oracle/12.1/client64
DEFINE _SQLPLUS_RELEASE = "1201000200" (CHAR)
Oracle version 12.1.0.2 (12.1)
Unable to locate an oracle.mk or other suitable *.mk
file in your Oracle installation. (I looked in
/usr/lib/oracle/12.1/client64/rdbms/demo/demo_xe.mk /usr/lib/oracle/12.1/client64/rdbms/lib/oracle.mk /usr/lib/oracle/12.1/client64/rdbms/demo/oracle.mk /usr/lib/oracle/12.1/client64/rdbms/demo/demo_rdbms.mk /usr/lib/oracle/12.1/client64/rdbms/demo/demo_rdbms64.mk /usr/lib/oracle/12.1/client64/rdbms/lib/ins_rdbms.mk /usr/share/oracle/12.1/client64/demo.mk under /usr/lib/oracle/12.1/client64)
The oracle.mk (or demo_rdbms.mk) file is part of the Oracle
RDBMS product. You need to build DBD::Oracle on a
system which has one of these Oracle components installed.
(Other *.mk files such as the env_*.mk files will not work.)
Alternatively you can use Oracle Instant Client.
In the unlikely event that a suitable *.mk file is installed
somewhere non-standard you can specify where it is using the -m option:
perl Makefile.PL -m /path/to/your.mk
See the appropriate README file for your OS for more information and some alternatives.
at Makefile.PL line 1187.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
PYTHIAN/DBD-Oracle-1.74.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
Co jest nie tak z procesem instalacji? Śledziłem przewodnik this.
Zmarnowałem pół dnia próbując to znaleźć. Dzięki, to rozwiązało mój problem. Ale co właściwie robi flaga -l? – Arran
samo tutaj! wszędzie, gdzie szukałem, ludzie byli napominani, żeby czytali plik README, ale plik mówi bardzo mało o InstantClient! Jestem w szoku, że doszło do dodania -l. Święte dymy. DZIĘKUJĘ CI! – Glenn
Jeszcze jeden szczegół: wśród moich nieudanych prób zainstalowania rzeczy ding-dong, zrobiłem COŚ, która spowodowała utworzenie dwóch miękkich linków: ## sudo ln -s libclntsh.so.11.1 libclntsh.so ## sudo ln -s libocci.so.11.1 libocci.so ## I tak, sprawdziłem, że tworzenie tych linków nie było wystarczające; magia polegała na dodaniu tego "-l" jak wyżej. – Glenn