Vorrei iniziare dicendo che non sono tradizionalmente un utente Mac. Sto ancora provando a passare da Gentoo, dove la compilazione di tutto da sorgente era lo stato predefinito, e il sistema non stava attivamente cercando di impedirmi di fare cose "pericolose".
Ho una nuova macchina che esegue 10.11. Ho ottenuto sqlplus 11.2.0.4 in esecuzione e sono in grado di connettermi a un server Oracle remoto. Ora voglio usare DBD::Oracle per connettermi in uno script Perl. Sono stato in grado di ottenere DBD::Oracle da compilare / installare passando manualmente una versione a Makefile.pl anziché utilizzare CPAN (o, più precisamente, cpanm ):
perl Makefile.pl -V 11.2
make
make install
Tuttavia, quando eseguo lo script utilizzando il Perl predefinito (5.18.2 situato in /usr/bin/perl ), viene visualizzato un errore:
ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc.
Se il problema riguarda il sistema perl, ho installato perlbrew e poi installato 5.22.0 in ~/perl5 . Usando il Perlbrew Perl, ottengo un errore diverso:
dyld: lazy symbol binding failed: Symbol not found: _OCIAttrSet
Referenced from: /Users/jrittenh/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/darwin-2level/auto/DBD/Oracle/Oracle.bundle
Expected in: dynamic lookup
dyld: Symbol not found: _OCIAttrSet
Referenced from: /Users/jrittenh/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/darwin-2level/auto/DBD/Oracle/Oracle.bundle
Expected in: dynamic lookup
Trace/BPT trap: 5
Ho provato:
- librerie Oracle a 32 bit e 64 bit
- librerie di collegamenti simbolici dalla versione specifica (
libclntsh.dylib.11.1 => libclntsh.dylib) - fissa i percorsi codificati in% a
/ade - creazione di una cartella "mesg" e resa scrivibile in
$ORACLE_HOME - impostazione
ORACLE_HOME,LD_LIBRARY_PATH,DYLD_LIBRARY_PATHePATHper includere/usr/local/oracle_clientda/etc/profile,/etc/bashrc/,~/.bashrce~/.bash_profile
C'è qualcos'altro che posso provare? Cosa mi manca?