Een Mac-installatie van perl krijgen om mooi met Oracle te spelen is een beetje lastig - als het eenmaal draait is het fantastisch, het draaiend krijgen is een beetje frustrerend..
Het onderstaande heeft voor mij gewerkt op een paar verschillende Intel-Macs, er kunnen overbodige stappen in zitten en het zal waarschijnlijk niet hetzelfde zijn voor andere platforms.
Dit vereist het gebruik van shell, de root-gebruiker en een beetje CPANing - niets te belastend
Maak eerst een map voor de oracle pap - bibliotheken, instant client enz.
sudo mkdir /usr/oracle_instantClient64
Download en extraheer alle 64-bits instant-clientpakketten van oracle naar de bovenstaande map
Maak een symbolische link binnen die map voor een van de bestanden daar
sudo cd /usr/oracle_instantClient64
sudo ln -s /usr/oracle_instantClient64/libclntsh.dylib.10.1 libclntsh.dylib
De volgende map is hard gecodeerd in de orakel instant-client - god weet waarom - dus moet deze maken en symboliseren
sudo mkdir -p /b/227/rdbms/
sudo cd /b/227/rdbms/
sudo ln -s /usr/oracle_instantClient64/ lib
Moet een aantal omgevingsvariabelen toevoegen, dus bewerk /etc/profile en voeg ze toe zodat ze voor alle gebruikers bestaan:
export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64
Probeer nu DBD::Oracle te installeren via CPAN - dit zal mislukken, maar het betekent dat alle afhankelijkheden worden gedownload en de module voor ons wordt opgehaald
sudo perl -MCPAN -e shell
install DBD::Oracle
Als dit niet lukt, verlaat u CPAN en gaat u naar uw .cpan/build-directory - als u de automatische configuratie van CPAN heeft gebruikt, is dat
cd ~/.cpan/build
als je niet automatisch hebt geconfigureerd, kun je je builddirectory vinden met de volgende opdracht in CPAN
o conf build_dir
Zoek in de build-map naar de DBD::Oracle-map die zojuist is gemaakt (het zal zoiets als DBD-Oracle-1.28- heten?) en cd erin.
Nu moeten we overschakelen naar de rootgebruiker. Root is niet standaard ingeschakeld in osx - voor details over het inschakelen, zie dit bericht op de apple-website
Eenmaal ingelogd als root moeten we de bovenstaande omgevingsvariabelen voor root instellen:
export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64
Nu, terwijl we nog steeds zijn ingelogd als root, moeten we de makefile voor de module uitvoeren, dan make, en dan installeren
perl Makefile.pl
make
make install
Ervan uitgaande dat alles werkte zonder fouten log uit van root:we zijn DBD'd! Als dit niet werkt, is het tijd om Google uit te schakelen voor alle fouten die je ziet
Nu alleen nog de DBI-module installeren
sudo perl -MCPAN -e shell
install DBI
Nu ben je helemaal klaar - geniet van je nieuwe orakelachtige leven
Aanvullende informatie van gebruiker852637:
-
Correctie op deze stap
perl Makefile.pl make install
De laatste stap moet zijn
make install
-
Tijdens het maken kunt u een fout tegenkomen die er als volgt uitziet:
Om dit te corrigeren, moet u het bestand "Makefile" dat is gemaakt na de stap "perl Makefile.pl" bewerken en alle exemplaren van de volgende tekst verwijderen:
-arch ppc
Dit zal de fout elimineren.
-
Dezelfde fout beschreven in (2.) zal optreden tijdens de installatie van de DBI-module. Je moet het
Makefile
bewerken gemaakt na deperl Makefile.pl
stap en verwijder alle exemplaren van de volgende tekst:-arch ppc