Att få en mac-installation av perl att spela bra med Oracle är lite jobbigt - när den väl är igång är den fantastisk, att få den att fungera är lite frustrerande.
Nedanstående har fungerat för mig på några olika Intel Mac-datorer, det kan mycket väl finnas överflödiga steg där och det kommer sannolikt inte att vara samma sak för andra plattformar.
Detta kommer att kräva användning av skal, root-användaren och lite CPANing - inget för betungande
Skapa först en katalog för oracle pap - bibliotek, snabbklient etc.
sudo mkdir /usr/oracle_instantClient64
Ladda ner och extrahera alla 64-bitars instant-klientpaket från oracle till ovanstående katalog
Skapa en symbollänk i den katalogen för en av filerna där
sudo cd /usr/oracle_instantClient64
sudo ln -s /usr/oracle_instantClient64/libclntsh.dylib.10.1 libclntsh.dylib
Följande dir är hårdkodad i oracle-instant-klienten - gud vet varför - så måste skapa och symlinka den
sudo mkdir -p /b/227/rdbms/
sudo cd /b/227/rdbms/
sudo ln -s /usr/oracle_instantClient64/ lib
Behöver lägga till ett par miljövariabler, så redigera /etc/profile och lägg till dem så att de finns för alla användare:
export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64
Försök nu och installera DBD::Oracle via CPAN - detta kommer att misslyckas, men det betyder att alla beroenden kommer att laddas ner och det hämtar modulen åt oss
sudo perl -MCPAN -e shell
install DBD::Oracle
När detta misslyckas avsluta CPAN och gå till din .cpan/build-katalog - om du använde automatisk konfiguration av CPAN kommer det att vara
cd ~/.cpan/build
om du inte konfigurerade automatiskt kan du hitta din byggkatalog med följande kommando i CPAN
o conf build_dir
Väl i build dir leta efter DBD::Oracle dir som just har skapats (det kommer att heta något som DBD-Oracle-1.28-?) och cd in i den.
Nu måste vi byta till root-användaren. Root är inte aktiverat som standard i osx - för detaljer om att aktivera se det här inlägget på apples webbplats a>
När vi väl är inloggade som root måste vi ställa in ovanstående miljövariabler för root:
export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64
Nu när vi fortfarande är inloggade som root måste vi köra makefilen för modulen, sedan göra och sedan installera
perl Makefile.pl
make
make install
Förutsatt att allt fungerade utan fel, logga ut från root:vi är DBD'd up! Om det här inte fungerade är det dags att avbryta Google för de fel du ser
Nu är det bara att installera DBI-modulen
sudo perl -MCPAN -e shell
install DBI
Nu är du redo - njut av ditt nya liv
Ytterligare information från user852637:
-
Rättelse till detta steg
perl Makefile.pl make install
Det sista steget bör vara
make install
-
Under tillverkningen kan du stöta på ett fel som ser ut som:
För att rätta till detta måste du redigera filen "Makefile" som skapades efter steget "perl Makefile.pl" och ta bort alla förekomster av följande text:
-arch ppc
Detta kommer att eliminera felet.
-
Samma fel som beskrivs i (2.) kommer att inträffa under installationen av DBI-modulen. Du måste redigera
Makefile
skapad efterperl Makefile.pl
steg och ta bort alla förekomster av följande text :-arch ppc