Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 1999 15:51:57 -0700
From:      "Tim Pushor" <timp@crossthread.com>
To:        "Alfred Perlstein" <bright@wintelcom.net>, <questions@freebsd.org>
Subject:   Re: Apache DSO problems
Message-ID:  <00cc01bf45bc$bb057b10$9828f99f@shl.com>
References:  <Pine.BSF.4.21.9912131500590.4557-100000@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help


> On Mon, 13 Dec 1999, Tim Pushor wrote:
>
> > Hello,
> >
> > I have compiled apache to use the DSO loading mechanism for modules and
all
> > is working well. I just tried to compile a 3rd party module as a DSO,
and it
> > seemed to work, but when apache tries to initialize the module, I get an
> > error message:
> >
> > Syntax error on line 238 of /usr/local/etc/apache/httpd.conf:
> > Cannot load /usr/local/libexec/apache/mod_auth_pgsql.so into server:
> > /usr/local/libexec/apache/mod_auth_pgsql.so: Undefined symbol "PQexec"
> >
> > The module is mod_auth_pgsql 0.9.0, and it does support DSO. The symbol
that
> > the server cannot locate is in an external shared lib - libpg.so.
> >
> > I have tried various command line incantations while compiling the
module as
> > well as ensuring the loaders library cache contains the dir that the
library
> > is in (/usr/local/pgsql/lib).
> >
> > Reading the apache documentation on the DSO mechanism it suggests that
there
> > may be problems with this on non ELF architectures (which this is
obviously
> > not).
> >
> > Could someone help shed some light on this? For the meantime I will use
> > static modules, but would *really* like to use DSO.
> >
> > As an FYI, I am using the apache13 port on FreeBSD 3.3-RELEASE.
>
> As a hack I would try to link the DSO with the libpq statically,
> ie force it the DSO to link to the .a version of libpq.

I did try this, but for some reason apache could not then load the module.
It was complaining about not being able to resolve certain interfaces (like
the main one :) symbol tables.

>
> Another way you may be able to fix this is to compile libpq as a
> DSO and load it before you load the mod_auth_pgsql.so.
>

Not sure how I would do this one, but sort of follows something that I was
thinking earlier: I could take apart the dynalib into object modules and
link them directly into the module. I really don't want to do something like
this, as doing upgrades to postgresql or any other dependent library will
involve the same re-hackery...

Thanks for the advice..
Tim



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00cc01bf45bc$bb057b10$9828f99f>