Let me start by saying I'm not traditionally a Mac user. I'm still trying to transition from Gentoo, where compiling everything from source was the default state, and the system wasn't actively trying to prevent me from doing "dangerous" things.
I have a new machine running 10.11. I've gotten
sqlplus 18.104.22.168 running, and am able to connect to a remote Oracle server with it. I now want to use
DBD::Oracle to connect in a Perl script. I was able to get
DBD::Oracle to compile/install by manually passing a version to
Makefile.pl rather than using CPAN (or, more specifically,
perl Makefile.pl -V 11.2 make make install
However, when I run the script using the default Perl (5.18.2 located at
/usr/bin/perl), I get an error:
ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc.
In case the issue lies with the system perl, I installed
perlbrew and then installed 5.22.0 into
~/perl5. Using the perlbrew Perl, I get a different error:
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
- both 32-bit and 64-bit Oracle libraries
- symlinking libraries from the specific version (
libclntsh.dylib.11.1 => libclntsh.dylib)
- fixing hard-coded paths to
- creating a 'mesg' folder and made it writeable in
Is there something else I can try? What am I missing?