Hi Tim, HP reccomendations ------------------ Concerning HP requirements, I followed most of reccomendations from Garry Ferguson available at http://www.mail-archive.com/[EMAIL PROTECTED]/msg18687.html The most important difference concerns the LINKTYPE of dbi and dbd. I didn't force it to static.
Libraries specified at link time -------------------------------- I had to find the two libraries (-lnjni9 -ljip9) after some errors in the "make test" of DBD. t/cursor..... /usr/lib/dld.sl: Unresolved symbol: nnftboot (plabel) from /u01/app/oracle/product/9.2.0/lib32/libclntsh.sl.9.0 .... I simply followed the findSymbol script specified in README.hpux. I'm not confident in fixing it in Makefile.PL SHLIB_PATH and LD_LIBRARY_PATH ------------------------------ SHLIB_PATH is necessary at compile/link time the two lib dirs in LD_LIBRARY_PATH are needed at runtime. lib is needed for 64 bits tools like sqlplus, lib32 is needed by perl, compiled in 32 bits, right. But it works. Joël. -----Message d'origine----- De : Tim Bunce [mailto:[EMAIL PROTECTED] Envoyé : mercredi 21 janvier 2004 20:07 À : [EMAIL PROTECTED] Cc : Sean Kelly; [EMAIL PROTECTED] Objet : Re: Can't make DBD: a solution on HP-UX 11.00 with Oracle 9i On Wed, Jan 21, 2004 at 06:02:29PM +0100, Joel Van Boeckel wrote: > Hi Sean, > I had a lot of problems in order to build Oracle:DBD on HP-UX. > I finally ended to a very simple solution. > - recompile perl conforming to HP requirements What do you mean by "HP requirements"? > - patch DBD::Oracle Makefile.PL > > Perhaps may this information help you in fixing the solution. > -------------------------------------------------------- > Environment (important to specify the lib32 libraries) In SHLIB_PATH? > export > LD_LIBRARY_PATH=$ORACLE_HOME/lib32:/$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib > export SHLIB_PATH=$ORACLE_HOME/lib32 Aren't the two lib dirs in LD_LIBRARY_PATH needed for sqlplus (for example) to work correctly? > -------------------------------------------------------- > Building perl with nothread > -------------------------------------------------------- > > rm -f config.sh Policy.sh > ./Configure -Ubincompat5005 -Duselargefiles > When asked: > 1/ Build it "Not threaded" --> Build a threading Perl? [n] > 2/ "What libraries to use?" then prepend with -lcl -lpthread > --> What libraries to use? > [-lnsl -lnm -lndbm -lmalloc -ldld -lm -lcrypt -lsec -lc] > -lcl -lpthread -lnsl -lnm -lndbm -lmalloc -ldld -lm -lcrypt -lsec -lc > 3/ "Any additional cc flags?" then prepend with +z +DAportable +DSPA7300 > --> Any additional cc flags? > [-Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -I/usr/local/include] > +z +DAportable +DSPA7300 -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings > -I/usr/local/include How and why did you determine each of those values? > Patch Makefile.PL > > diff Makefile.PL.org Makefile.PL > 295c295 > < $opts{LIBS} = [ "-L$OH/$libdir -l$lib $syslibs" ]; > --- > > $opts{LIBS} = [ "-L$OH/$libdir -lnjni9 -ljip9 -l$lib $syslibs" ]; How did you determine each of those libraries? Did "build rule discovery" work for you? If not, can you fix it? Tim. p.s. I don't know anything about HPUX so hopefully others can help out here.