Well that's handy then :)

Tim.

On Mon, Feb 25, 2002 at 04:43:24PM -0500, [EMAIL PROTECTED] wrote:
> That *is* the current version.
> 
> -----Original Message-----
> From: Tim Bunce [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, February 25, 2002 4:04 PM
> To: Tim Bunce
> Cc: Jay Strauss; Singh, Kiranjit; [EMAIL PROTECTED]
> Subject: Re: Installing DBI on HP-UX
> 
> On Mon, Feb 25, 2002 at 05:49:57PM +0000, Tim Bunce wrote:
> > On Mon, Feb 25, 2002 at 08:46:48AM -0600, Jay Strauss wrote:
> > > Yes, yes
> > > 
> > > Download and install DBI, DBD-Oracle (from perl.com) and request the
> latest
> > > version of the README.hpux
> > 
> > But that's not really the latest as there's not been a DBD::Oracle release
> > for a while.
> > 
> > So also check the dbi-user archives etc.
> >
> http://www.google.com/search?as_q=+README-hpux&num=50&btnG=Google+Search&as_
> epq=DBD+Oracle+&as_oq=&as_eq=&lr=lang_en&as_ft=i&as_filetype=&as_qdr=all&as_
> occt=any&as_dt=i&as_sitesearch=&safe=off
> 
> In fact, here's the (probably) lastest one.
> 
> Tim.
> 
> 
> =head1 INTRODUCTION
> 
> Building a working dynamically linked version of the Oracle DBD driver
> on HPUX (11.00) has been a challenge for many.  For months after taking a
> new job, where HPUX was the standard server environment, I had only been
> able to build a statically linked version of perl and the DBD-Oracle 
> module on HPUX 11.00.
> 
> Then Roger Foskett posted instructions for what turned out to be dynamic
> build.  Rogers's post got me farther than I had previously gotten.  In fact,
> 
> after resolving some undefined symbol errors, I succeeded where for I had 
> previously despaired of finding the time to hack out the right 
> incantation.  
> 
> This F<README.hpux> describes the combined knowledge of a number of
> folks who invested many hours discovering a working set of build options.
> The instructions in this file, which include building perl from
> sources, will produce a working dynamically linked DBD-Oracle that can
> be used with mod_perl and Apache.
> 
> Both Roger Foskett and I have been using the HP softbench c compiler
> normally installed in:
> 
>       /opt/softbench/bin/cc.
> 
> F<Makefile.PL> has been modified to check for some of the
> conditions which, when met, we know will produce a working build.
> However, there are many variations of Oracle installations and
> features.  Not all of these can be tested by any one of us,
> if you discover a way to make a variation which did not previous
> work, please submit patches to Makefile.PL to Tim Bunce, and 
> patches to this README to Tim Bunce or me.
> 
> The instructions herein, have compiled, linked cleanly, and tested 
> cleanly using the HP softbench compiler, and Oracle 8.0.5 (32bit), and
> Oracle 8.1.6, 8.1.7 (64 bit).  Oracle 8.1.5 will probably work as well.
> 
> See appendices for my exact build configuration.
> 
> =head1  First things First
> 
> The reason you are even reading this file is because you want to connect 
> to an Oracle database from your perl program.  So before you start, install
> the Oracle client software (SQL*Net, Pro*C, SQL*Plus) upon the machine you 
> intend to install Perl/DBI/DBD-Oracle.  You DO NOT, I repeat, DO NOT need 
> to install the Oracle database server on this machine.  
> 
> After you have installed the client software, TEST it: make sure you can 
> connect to the target database using sqlplus (or any other Oracle supplied 
> tool).  The (gory) details of the install are beyond the scope of this 
> document, some information can be found in the section "Compiling on 
> a Client Machine" later in this document, or see your Oracle DBA.
> 
> =head1  Build perl
>  
> =head2 HP's default perl (probably no good)
> 
> By default, HPUX 11.00 delivers perl 5.00503.  This version of perl will
> probably not work.  If you are reading this, you have probably
> discovered that something did not work.  To get good version of the
> DBD-Oracle driver, we have to start with a perl that as been built with
> the correct compiler flags and shared libraries.
> 
> =head2 Build and Install the right Perl
> 
> Generally, in order to get a version of the DBD-Oracle driver that
> works on HPUX you need to build your own version of perl from
> sources.
> 
> These instructions have been used to building a dynamically linked
> working DBD-Oracle driver that works with mod_perl and Apache.  These
> instructions are based on perl 5.6.0 and 5.6.1.  To this author's knowledge,
> they have not be tested on earlier versions of perl.  
> 
> It is important to build a B<non>-threaded perl, but linked with 
> -lcl and -lpthread.   Since Oracle on HP uses libpthread, everything that
> dynamically loads it (such as DBD-Oracle) must be built/linked
> with '-lpthread -lcl'.  (When used with Apache, it and any associated
> modules these must also be built this way - otherwise all it does is core
> dump when loading DBD::Oracle). 
> 
> A good link that explains thread local storage problems is
> http://my1.itrc.hp.com/cm/QuestionAnswer/1,1150,0x0d0a6d96588ad4118fef009027
> 9cd0f9!0,00.html
> 
> 
> =head2 Configure
>  
> Once you have downloaded and unpacked the perl sources 
> (version 5.6.0 assumed here), you must configure Perl.  For those of you new
> to
> building Perl from source, the Configure program will ask you a series of
> questions
> about how to build Perl.  You may supply default answers to the questions
> when you 
> invoke the Configure program by command line flags.
> 
> We want to build a Perl that understands large files (over 2GB),
> and that is incompatible with v5.005 perl scripts (compiling with v5.005 
> compatibility causes mod_perl to complain about malloc pollution).  At the
> command prompt type:
> 
>     cd Perl-5.6.0/
>     ./Configure -Ubincompat5005 -Duselargefiles
> 
> As described in section "Building the right Perl", there are some
> modifications you must make during the Configure process
> When asked the question:
> 
>     What libraries to use? -  Answer by prepending (i.e. at the beginning):
> -lcl -lpthread
> 
>     For example:
>     What libraries to use? [-lnsl -lnm -lndbm -lmalloc -ldld -lm -lc -lndir
> -lcrypt -lsec] -lcl -lpthread -lnsl -lnm -lndbm -lmalloc -ldld -lm -lc
> -lndir -lcrypt -lsec
> 
> When asked:
> 
>     Any additional cc flags? - Answer by prepending: +z
> 
>     For example:
>     Any additional cc flags? [-D_HPUX_SOURCE -Aa] +z -D_HPUX_SOURCE -Aa
> 
> Lastly, and this is optional, when asked:
> 
>     Do you want to install perl as /usr/bin/perl? [y] n
> 
>     You may or may not want to install directly in /usr/bin/perl, many
> persons
>     on HP install Perl in /opt/perl<version>/bin/perl and put a symbolic
> link to /usr/bin/perl.
>     Furthermore, you can supply the answer to this question by adding an
> additional
>     switch to the invokation of Configure such as: Configure
> -Dprefix=/opt/perl
>        
> After you have answered the above questions, accept the default values for
> all
> of the remaining questions.  You may press <Enter> for each remaining
> question, or you may enter "& -d" (good idea) at the next question and
> the Configure will go into auto-pilot and use the Perl supplied defaults.
> 
> BTW: If you add -lcl and -lpthread to the end of the list it will not
> work. I wasted a day and a half trying to figure out why I had lost the
> recipe, before I realized that this was the problem. The symptom will
> be that
> 
>    make test 
>    
> of perl itself will fail to load dynamic libraries.
> 
> You can check in the generated 'config.sh' that the options you selected
> are correct.  If not, modify config.sh and then re-run ./Configure with
> the '-d' option to process the config.sh file.
> 
> =item Build & Install 
>     
>     
>     make
>     make test
>     make install
> 
> If you are going to build mod_perl and Apache it as beed suggested
> that you modify Config.pm to the change the HPUX ldflags & ccdlflags in
> F</your/install/prefix/lib/5.6.0/PA-RISC2.0/Config.pm> as follows:
> 
>     ccdlflags=''
>     cccdlflags='+z'
>     ldflags=' -L/usr/local/lib'
> 
> This is not necessary if you are not using mod_perl and Apache.
> 
> =head1 Build and Install DBI
> 
>     
>     cd DBI-1.18/
>     perl Makefile.PL
>     make
>     make test
>     make install
> 
> =head1 Build and Install DBD-Oracle-1.07 and later
> 
> It is critical to setup your Oracle environmental variables.  Many people
> do this incorrectly and spend days trying to get a working version of 
> DBD-Oracle.  Below are examples of a local database and a remote database
> (i.e. the database is on a different machine than your Perl/DBI/DBD 
> installation) environmental variable setup.
> 
> Example (local database):
> 
>     export ORACLE_USERID=<validuser/validpasswd>
>     export ORACLE_HOME=<path to oracle>
>     export ORACLE_SID=<a valid instance>
>     export ORACLE_USERID=<validuser/validpasswd>
>     export SHLIB_PATH=$ORACLE_HOME/lib
> 
> Example (remote database):
> 
>     export ORACLE_USERID=<validuser/validpasswd>
>     export ORACLE_HOME=<path to oracle>
>     export ORACLE_SID=<a valid instance>@<valid tnsnames.ora entry>
>     export ORACLE_USERID=<validuser/validpasswd>
>     export SHLIB_PATH=$ORACLE_HOME/lib
> 
> The standard mantra now works out of the box on HPUX:
>     
>     cd DBD-1.07/ #or more recent version
>     perl Makefile.PL
>     make 
>     make test
>     make install # if all went smoothly
> 
> If you have trouble, go though the instructions below, for hints
> of what might be wrong... and send me a note, describing your
> configuration, and what you did to fix it.
> 
> =head1        Trouble Shooting
> 
> 
> =head2        "Unresolved symbol"
> 
> 
> In general, find the symbols, edit the Makefile, and make test.  
> 
> You'll have to modify the recipe accordingly, in my case the symbol
> "LhtStrCreate" was unresolved.
> 
> 1) Find the symbols.  
> 
>    a) The following ksh/bash code (courtesy of Roger) will search 
>       from $ORACLE_HOME and below for Symbols in files in lib directories.
>       Save the following to a file called "findSymbol".
>    
>    >>>>  CUT HERE <<<<<
>    cd $ORACLE_HOME
> 
>    echo "\nThis takes a while, grepping a lot of stuff"
>    echo "   ignore the \"no symbols\" warnings\n"
> 
>    sym=$1; shift;
>    libs="*.sl"
> 
>    for lib in  $(find . -name $libs -print); do
>       if nm -p $lib | grep -q $sym; then
>          echo "found \"$sym\" in $lib"
>       fi
>    done
>    >>>>> CUT HERE <<<<
> 
>    b) Run it (replace "LhtStrCreate" with your "Unresolved symbol").  For 
>       example, at my installation, findSymbols produced the following
> output:
> 
>       # chmod 755 findSymbols
>       # ./findSymbol LhtStrCreate
>       
>       found "LhtStrCreate" in ./lib/libagtsh.sl
>       found "LhtStrCreate" in ./lib/libclntsh.sl
>       found "LhtStrCreate" in ./lib/libwtc8.sl
> 
> 2) Edit the Makefile
> 
> 
> In the previous step your unresolved symbol was found in one or more
> library files.  You will need to edit the OTHERLDFLAGS makefile macro,
> and add the missing libraries.
> 
> When you add those library files to OTHERLDFLAGS you must convert the
> name from the actual name to the notation that OTHERLDFLAGS uses.
>       
>       libclntsh.sl         becomes => -lclntsh
>       libagtsh.sl          becomes => -lagtsh
>       libwtc8.sl           becomes => -lwtc8
> 
> That is, you replace the "lib" in the name to "-l" and remove the ".sl"       
> 
> You can edit the Makefile in 2 ways:
> 
>    a) Do this:
> 
>       cat Makefile | sed 's/\(OTHERLDFLAGS.*$\)/\1 -lclntsh/' > Makefile.tmp
>       mv Makefile.tmp Makefile
> 
>    b) Using vi, emacs... edit the file, find OTHERLDFLAGS, and add the 
>       above "-l" entries to the end of the line.
> 
>       For example the line:
>       OTHERLDFLAGS =  -L/opt/oracle/product/8.1.6/lib/... -lqsmashr
> 
>       Becomes:
>       OTHERLDFLAGS =  -L/opt/oracle/product/8.1.6/lib/... -lqsmashr -lclntsh
> 
> 3) make test
> 
> Perform a make test, if symbols are still unresolved repeat the editing of 
> the Makefile and make test again.
> 
> =head1  DBD-Oracle-1.06
> 
> You are strongly urged to upgrade. However here is what you may
> need to know to get it or work, if you insist on using an earlier
> version.
> 
> Check the output that above command produces, to verify that 
> 
>    -Wl,+n
>    -W1,+s
> 
> is b<NOT> present. and that 
> 
>    -lqsmashr 
> 
> B<is> present.  
> 
> If the version of Makefile.PL does not include the patch produced at the
> time
> of this README.hpux, then the above conditions will likely not be met.
> You can fix this as follows:
> 
>       cat Makefile | sed 's/-Wl,+[sn]//' > Makefile.tmp
>       mv Makefile.tmp Makefile
> 
> 
> =head1 Building on a Oracle Client Machine
> 
> If you need to build or deliver the DBD-Oracle interface on or to
> a machine on which Oracle has not been installed you need take into
> consideration the following:
> 
> =over
> 
> =item 1) Oracle files are needed for DBD::Oracle to compile
> 
> =item 2) Oracle files are needed for the compiled DBD to connect
> 
> =item 3) ORACLE_HOME environment variable must be set
> 
> =item 4) SHLIB_PATH environment variable must be set
> 
> =back
> 
> =head2 Compiling on a Client Machine
> 
> 
> This may seem obvious to some, but the Oracle software has to be
> present to compile and run DBD-Oracle.  The best way to compile and
> install on a client machine, is to use the to use the oracle installer
> to install the oracle (client) software locally.  Install SQL*Net, Pro*C
> and SQL*Plus.  After this some tests with SQL*Net (tnsping at a minimum)
> are an good idea.  Make sure you can connect to your remote database,
> and everything works with Oracle before you start bashing your head into
> the wall trying to get DBD-Oracle to work.
> 
> If you do not have the Oracle installer handy, the follow hack has been
> know to work:
> 
> Either open an NFS share from the oracle installation directory on the
> machine that has Oracle and point both of the above-mentioned env vars to
> that share, or alternatively copy the following four directories from your
> Oracle installation over to the machine on which you are compiling the DBD:
> 
> drwxr-xr-x   3 oracle   dba         3072 Jul  3 09:36 lib
> drwxr-xr-x  13 oracle   dba          512 Jul  3 09:38 network
> drwxr-xr-x   7 oracle   dba          512 Jul  2 19:25 plsql
> drwxr-xr-x  12 oracle   dba          512 Jul  3 09:38 rdbms
> 
> then point the above-mentioned env vars to the containing directory (good
> place to put them, if copying locally, is /usr/lib/oracle)
> 
> In any case, the compiler needs to be able to find files in the above four
> directories from Oracle in order to get all the source code needed to
> compile properly.
> 
> =head2 Required Runtime environment
> 
> Again, use the Oracle installer to install the Oracle Client on the machine
> where your scripts will be running.  If the Oracle installer is not
> available,
> the following hack should suffice:
> 
> For running the compiled DBD in perl and connecting, you need only the
> files in the 'lib' folder mentioned above, either connecting to them through
> an NFS share on the Oracle machine, or having copied them directly onto the
> local machine, say, in /usr/lib/oracle . Make sure the env variable for
> ORACLE_HOME = /usr/lib/oracle and LD_LIBRARY_PATH includes /usr/lib/oracle .
> You can set the env var in your perl script by typing
> 
> $ENV{'ORACLE_HOME'} = '/usr/lib/oracle';
> =head1 Apache and mod_perl
> 
> If you are not building this version of perl for Apache you can go on
> to build what ever other modules you require.  The following instructions
> describe how these modules were built with the perl/DBD-Oracle built above:
> The following is what worked for Roger Foskett:
> 
> 
> =head1 Apache Web server
> 
>     cd apache_1.3.14/
>     LDFLAGS_SHLIB_EXPORT="" \
>     LDFLAGS="-lm -lpthread -lcl" \
>     CC=/usr/bin/cc \
>     CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
>     ./configure \
>         --prefix=/opt/www/apache \
>         --enable-shared=max \
>         --disable-rule=EXPAT \
>         --enable-module=info \
>         --enable-rule=SHARED_CORE
> 
> The Expat XML parser is disabled as it conflicts with the Perl
> XML-Parser module causing core dumps.  -lcl is needed to ensure that Apache
> does
> not coredump complaining about thread local storage
>     
>     make
>     make install
>     
> Once installed, ensure that the generated httpd.conf is properly
> configured, change the relvant lines to below (the default user/group 
> caused problems on HP (the user 'www' may need to be created)
> 
>         User www
>         Group other
>         port 80
>         
> =head2 mod_perl
> 
>     cd mod_perl-1.24_01/
>     perl Makefile.PL \
>         NO_HTTPD=1 \
>         USE_APXS=1 \
>         WITH_APXS=/opt/www/apache/bin/apxs \
>         EVERYTHING=1 
>     make
>     make install
> 
> =head2 htdig intranet search engine
> 
>     cd htdig-3.1.5/
>     CC='cc' CPP='aCC' \
>     ./configure \
>         --prefix=/opt/www/htdig \
>         --with-cgi-bin-dir=/opt/www/htdig/cgi-bin \
>         --with-image-dir=/opt/www/htdig/images
> 
> =head1 CONTRIBUTORS
> 
> The following folks contributed to this README:
> 
>    Lincoln A. Baxter <[EMAIL PROTECTED] or [EMAIL PROTECTED]>
>    Jay Strauss <[EMAIL PROTECTED]>
>    Roger Foskett <[EMAIL PROTECTED]>
>    Weiguo Sun <[EMAIL PROTECTED]>
>    Tony Foiani <[EMAIL PROTECTED]>
>    Hugh J. Hitchcock <[EMAIL PROTECTED]>
>       Heiko Herms <[EMAIL PROTECTED]>
> 
> And probably others unknown to me.
> 
> =head1 AUTHOR
> 
>    Lincoln A. Baxter
>    IT Solutions Delivery, Fleet Credit Card Services
>    [EMAIL PROTECTED] or [EMAIL PROTECTED]
>    Office:  215.444.7973
> 
> =head1 Appendix A (Miscellaneous links which might be usefull)
> 
> Thanks to Tony Foiani for these references:
> 
> =head2  http://marc.theaimsgroup.com/?l=perl-dbi&m=96040350416305&w=2 
> 
> This link discusses older version of the DBI/DBD interface, so most of
> the code examples are probably no longer relevant.  This was written 
> by Jeff Okamoto at HP (the author of the README.hpux in the perl
> sources).  And has some useful insights.
> 
> =head2 http://www.sas.com/service/techsup/unotes/SN/001/001875.html 
> 
> This is a not from from the SAS support people documenting the
> LhtStrInsert()
> and LhtStrCreate() undefined symbols errors, and how to fix them in the
> Oracle makefiles.
> 
> =head2 http://www.mail-archive.com/dbi-users%40isc.org/msg13967.html 
> 
> My employers web sniffer does not allow me browser this link (www.mail) in
> the
> URL.  So I have no idea how helpful this might be.  It might even be a link
> to my own posts.
> 
> =head1 Appendix B (Perl Configuration Dumps)
> 
> The following to sections provide full dumps of perl -V for three
> versions of perl that were successfully built and linked on
> HPUX 11.00.
> 
> =head2 Lincoln Baxter's DBD-Oracle-1.07 Configuration
> 
>      Platform:
>        osname=hpux, osvers=11.00, archname=PA-RISC2.0
>        uname='hp-ux dhdb108 b.11.00 u 9000800 612309363 unlimited-user
> license '
>        config_args=''
>        hint=previous, useposix=true, d_sigaction=define
>        usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>        useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
>        use64bitint=undef use64bitall=undef uselongdouble=undef
>      Compiler:
>        cc='cc', ccflags ='-D_HPUX_SOURCE -Aa -I/usr/local/include
> -DDEBUGGING -z',
>        optimize='-O',
>        cppflags='-D_HPUX_SOURCE -Aa -I/usr/local/include -DDEBUGGING -z'
>        ccversion='', gccversion='', gccosandvers=''
>        intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
>        d_longlong=undef, longlongsize=, d_longdbl=define, longdblsize=16
>        ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=4
>        alignbytes=8, usemymalloc=y, prototype=define
>      Linker and Libraries:
>        ld='ld', ldflags =' -Wl,+vnocompatwarnings -L/usr/local/lib'
>        libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
>        libs=-lcl -lpthread -lnsl -lnm -lndbm -ldld -lm -lc -lndir -lcrypt
> -lsec
>        perllibs=-lcl -lpthread -lnsl -lnm -ldld -lm -lc -lndir -lcrypt -lsec
>        libc=, so=sl, useshrplib=false, libperl=libperl.a
>      Dynamic Linking:
>        dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-B,deferred '
>        cccdlflags='+z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib'
> 
>    Characteristics of this binary (from libperl): 
>      Compile-time options: DEBUGGING USE_LARGE_FILES
>      Built under hpux
>      Compiled at Jul 15 2001 16:01:33
>      @INC:
>        /home/baxtlinc/perl/lib
>        /opt/perl/5.6.1-fccs-01/lib/5.6.1/PA-RISC2.0
>        /opt/perl/5.6.1-fccs-01/lib/5.6.1
>        /opt/perl/5.6.1-fccs-01/lib/site_perl/5.6.1/PA-RISC2.0
>        /opt/perl/5.6.1-fccs-01/lib/site_perl/5.6.1
>        /opt/perl/5.6.1-fccs-01/lib/site_perl
> 
> 
> =head2 Lincoln Baxter's DBD-Oracle-1.06 Configuration 
> 
>      Platform:
>        osname=hpux, osvers=11.00, archname=PA-RISC2.0
>        uname='hp-ux dhdb108 b.11.00 u 9000800 612309363 unlimited-user
> license '
>        config_args='-Dprefix=/temp_data/baxtlinc/perl -Ubincompat5005'
>        hint=previous, useposix=true, d_sigaction=define
>        usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>        useperlio=undef d_sfio=undef uselargefiles=define 
>        use64bitint=undef use64bitall=undef uselongdouble=undef
> usesocks=undef
>      Compiler:
>        cc='cc', optimize='-O', gccversion=
>        cppflags='-D_HPUX_SOURCE -I/usr/local/include +z -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -Ae'
>        ccflags ='-D_HPUX_SOURCE -I/usr/local/include +z -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -Ae'
>        stdchar='unsigned char', d_stdstdio=define, usevfork=false
>        intsize=4, longsize=4, ptrsize=4, doublesize=8
>        d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>        ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>        alignbytes=8, usemymalloc=y, prototype=define
>      Linker and Libraries:
>        ld='ld', ldflags =' -Wl,+vnocompatwarnings'
>        libpth=/lib /usr/lib /usr/ccs/lib
>        libs=-lnsl -lnm -lndbm -ldld -lm -lc -lndir -lcrypt -lsec -lcl
> -lpthread
>        libc=, so=sl, useshrplib=true, libperl=libperl.sl
>      Dynamic Linking:
>        dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-B,deferred '
>        cccdlflags='+z', lddlflags='-b +vnocompatwarnings'
>    
>    Characteristics of this binary (from libperl): 
>      Compile-time options: USE_LARGE_FILES
>      Built under hpux
>      Compiled at Jan  9 2001 17:36:00
>      @INC:
>        /temp_data/baxtlinc/perl/lib/5.6.0/PA-RISC2.0
>        /temp_data/baxtlinc/perl/lib/5.6.0
>        /temp_data/baxtlinc/perl/lib/site_perl/5.6.0/PA-RISC2.0
>        /temp_data/baxtlinc/perl/lib/site_perl/5.6.0
>        /temp_data/baxtlinc/perl/lib/site_perl
>        .
> 
> 
> =head2 Roger Foskett's Configuration (works with Apache and mod_perl)
> 
>      Platform:
>        osname=hpux, osvers=11.00, archname=PA-RISC2.0
>        uname='hp-ux titan b.11.00 u 9000800 103901567 unlimited-user license
> '
>        config_args='-Ubincompat5005'
>        hint=recommended, useposix=true, d_sigaction=define
>        usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>        useperlio=undef d_sfio=undef uselargefiles=define 
>        use64bitint=undef use64bitall=undef uselongdouble=undef
> usesocks=undef
>      Compiler:
>        cc='cc', optimize='-O', gccversion=
>        cppflags='-D_HPUX_SOURCE -Aa -I/usr/local/include'
>        ccflags =' +z -D_HPUX_SOURCE -I/usr/local/include -D_LARGEFILE_SOURCE
>    -D_FILE_OFFSET_BITS=64  -Ae '
>        stdchar='unsigned char', d_stdstdio=define, usevfork=false
>        intsize=4, longsize=4, ptrsize=4, doublesize=8
>        d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>        ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>    lseeksize=8
>        alignbytes=8, usemymalloc=y, prototype=define
>      Linker and Libraries:
>        ld='ld', ldflags =' -L/usr/local/lib'
>        libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
>        libs=-lnsl -lnm -lndbm -lgdbm -ldld -lm -lc -lndir -lcrypt -lsec -lcl
>    -lpthread
>        libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
>      Dynamic Linking:
>        dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags=' '
>        cccdlflags='+z', lddlflags=' -b +vnocompatwarnings -L/usr/local/lib'
> 
>    Characteristics of this binary (from libperl): 
>      Compile-time options: USE_LARGE_FILES
>      Built under hpux
>      Compiled at Dec 19 2000 19:17:00
>      @INC:
>        /opt/www/perl5/lib/5.6.0/PA-RISC2.0
>        /opt/www/perl5/lib/5.6.0
>        /opt/www/perl5/lib/site_perl/5.6.0/PA-RISC2.0
>        /opt/www/perl5/lib/site_perl/5.6.0
>        /opt/www/perl5/lib/site_perl
>        .
> 
> 
> Roger also provides a link to some threads containing some of his
> DBD-Oracle and HPUX11 trials... 
> L<http://www.geocrawler.com/search/?config=183&words=Roger+Foskett>
> 
> 
> =head1 Appendix C (Why Dynamic Linking)
> 
> Some one posted to the DBI email list the following question:
> 
>    What are the advantages of building a dynamically linked version?
>    Being able to use threads? Or something besides that?
> 
> The answer is there are too many to count, but here are several big
> ones:
> 
> =item 1 Much smaller executables 
> 
> Only the code referenced gets loaded... this
> means faster execution times, and less machine resources (VM) used)
> 
> =item 2 Modular addition and updating of modules. 
> 
> This is HUGE.  One does not relink B<EVERYTHING, EVERY time> one changes
> or updates  a module.
> 
> =item 3 It eliminates Dynaloader warning (multiply defined).
> 
> This occurs with the static build when perl is run with -w.  I fixed
> this by removing -w from my #! lines, converting the the pragam "use
> warnings;". However, it was annoying, since all my scripts had -w in the
> #! line.
> 
> =item 4 Its the default build
> 
> Since almost every OS now supports dynamic linking, I believe that 
> static linking is NOT getting the same level of vetting it maybe used
> to.  Dynamicly linking is what you get by default, so its way better
> tested.
> 
> =item 5 Its required for Apache and mod_perl.
> 
> 

Reply via email to