You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Greg Stein <gs...@lyra.org> on 2000/12/19 01:40:34 UTC

HP/UX dynamic loading (was: Re: rePorting)

Looking at Python's dynamic loading, it always goes for shl_load().

But... Branko actually indicated there was a problem with the
apr_dso_handle_t type not being seen. I'd guess there is a simple problem
somewhere with the headers.

The code below can/should probably be tweaked some to use autoconf
mechanisms rather than the platform defines. Python has got quite a bit of
this stuff already autoconfiscated, so we could probably snarf a good amount
from there.

Cheers,
-g

On Mon, Dec 18, 2000 at 03:23:21PM -0600, Ben Collins-Sussman wrote:
> 
> Actually, I'm wondering if the code below is out of date.  IIRC, HPUX
> 11 uses plain old dlopen() now.
> 
> Ben Collins-Sussman <su...@newton.collab.net> writes:
> 
> > Branko =?ISO-8859-2?Q?=C8ibej?= <br...@xbc.nu> writes:
> > 
> > > hppa1.1-hp-hpux10.20:
> > >   build: Breaks in libsvn_client; looks like
> > >          APR doesn't support dynamic loading on
> > >          HP-UX. Need to look into that.
> > 
> > Huh?
> > 
> > Looks like good old "shl_load" is being used to me, in
> > apr/dso/unix/dso.c:
> > 
> > apr_status_t apr_dso_load(apr_dso_handle_t **res_handle, const char *path, 
> >                         apr_pool_t *ctx)
> > {
> > #if defined(HPUX) || defined(HPUX10) || defined(HPUX11)
> >     shl_t os_handle = shl_load(path, BIND_IMMEDIATE|BIND_VERBOSE|BIND_NOSTART, 0L);
> > #elif defined(OSF1) || defined(SEQUENT) || defined(SNI) ||\
> >     (defined(__FreeBSD_version) && (__FreeBSD_version >= 220000))
> >     void *os_handle = dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL);
> > #else
> >     void *os_handle = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
> > #endif    

-- 
Greg Stein, http://www.lyra.org/