You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modules-dev@httpd.apache.org by Hong Ye <hy...@cornell.edu> on 2007/04/26 17:16:57 UTC
namespace collisions
Hi,
I have an Apache module which makes calls to functions in Kerberos library.
On the redHat server that I build my Apache module, there is kerberos
library that come with redHat. But I don't want to use that one since it is
too old. So I compiled and installed a newer version of kerberos library in
my own directory. In my build script, I specified to use the kerberos
library in my own directory for linking.
After my Apache module is loaded, I found there are namespace collisions.
There are global symbols with the same name, one is from the kerberos
library I installed, the other one is from the kerberos library that come
with redHat.
Can someone help me out?
Thanks a lot.
Hong
Re: namespace collisions
Posted by Nick Kew <ni...@webthing.com>.
On Thu, 26 Apr 2007 11:16:57 -0400
Hong Ye <hy...@cornell.edu> wrote:
> Hi,
>
> I have an Apache module which makes calls to functions in Kerberos
> library. On the redHat server that I build my Apache module, there is
> kerberos library that come with redHat. But I don't want to use that
> one since it is too old. So I compiled and installed a newer version
> of kerberos library in my own directory. In my build script, I
> specified to use the kerberos library in my own directory for linking.
>
> After my Apache module is loaded, I found there are namespace
> collisions. There are global symbols with the same name, one is from
> the kerberos library I installed, the other one is from the kerberos
> library that come with redHat.
>
> Can someone help me out?
You can't expect to load multiple versions of the same library.
Your module should specify the library as a dependency,
and require [version x or later] as appropriate. Users can then
load a version compatible with your module and any others that
use the library.
As regards distributions such as redhat, if their packaging
system makes this unduly difficult for their users, you might
want to raise the matter with them.
This is one reason why it's preferable to use LoadFile to
load your libraries, rather than link them in.
--
Nick Kew
Application Development with Apache - the Apache Modules Book
http://www.apachetutor.org/