Fri, 16 Dec 2005
Building DBD::Oracle
I spent a lot of time trying to install DBD::Oracle on a 64-bit AMD Sempron computer. Oracle has an "instant client" package downloadable from their web site, but it seems DBD::Oracle is not quite ready to be used with DBD::Oracle. I got all sorts of compile errors, mainly from Makefile.PL. The documentation I have found was sparse, but at the end I was able to build it using the following steps:
- Do everything mentioned in this thread from dbi-users list.
- Set up the link libraries as $linkvia = "-L$OH/lib -locci -lclntsh"; in Makefile.PL just above the line which reads "unless ($linkvia){"
- Add "-I$OH/include" to the end of $OCIINCLUDE variables (two occurences in Makefile.PL - around the lines 262 and 564.
- Configure using "perl Makefile.PL -m $ORACLE_HOME/demo/demo.mk".
- Add $ORACLE_HOME/lib to ld.so.conf.d or to $LD_LIBRARY_PATH.
- Build using "make".
I hope I did not forget anything. The strange thing is that altough the problems with building DBD::Oracle against the Instant client are known, there has been no release of DBD::Oracle for a year or so. Is DBD::Oracle an orphaned project?
1 replies for this story:
imran nazir wrote: nothing it worked dude
i tried this whatever you had mentioned in your explanation but nothing went fine. still having the problems. nothing it worked dude Reading /usr/local/src/instantclient_10_2/demo/demo.mk Use of uninitialized value in substitution (s///) at Makefile.PL line 1334. Use of uninitialized value in substitution (s///) at Makefile.PL line 1338. Use of uninitialized value in substitution (s///) at Makefile.PL line 1341. Use of uninitialized value in substitution (s///) at Makefile.PL line 1342. Use of uninitialized value in substitution (s///) at Makefile.PL line 1343. Attempting to discover Oracle OCI build rules gcc -c -o DBD_ORA_OBJ.o DBD_ORA_OBJ.c by executing: [make -f /usr/local/src/instantclient_10_2/demo/demo.mk build ECHODO=echo ECHO=echo GENCLNTSH='echo genclntsh' CC=true OPTIMIZE= CCFLAGS= EXE=DBD_ORA_EXE OBJS=DBD_ORA_OBJ.o] WARNING: Oracle build rule discovery failed (512) Add path to make command into your PATH environment variable. Oracle oci build command: [g++32 -m64 -o DBD_ORA_EXE -g DBD_ORA_OBJ.o -L/rdbms/lib/ -L/lib/ -L../../ -locci -lclntsh -L/opt/ibmcmp/vac/7.0/lib64 -lxl -Wl,-rpath /opt/ibmcmp/lib64 /opt/ibmcmp/lib64/libibmc++.so.1 -lpthread] invalid top directory at /usr/lib/perl5/5.8.0/File/Find.pm line 562.