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/