[OTR-dev] Re: [OTR-announce] gaim-otr 2.0.1 is up (BUT DOESN'T DO AUTOCONF!!)

Ian Goldberg ian at cypherpunks.ca
Wed Mar 2 09:59:39 EST 2005


On Tue, Mar 01, 2005 at 06:32:05PM -0500, Greg Troxel wrote:
>   It seems to be unwilling to link the static libotr with other objects to
>   form a dll.  This is libtool being unwilling; i586-mingw32msvc-gcc is
>   more than happy to do so, as the old Makefile would suggest.
> 
> Hmm, I don't get this.  On my system libotr is built shared and
> static, and the libtool command in Makefile.am says to build both.

Except that libtool is Very Reluctant to build dlls.  It's got this
crazy aversion to it.  And I'd actually prefer that libotr be statically
linked in to the gaim-otr dll, since otherwise you start to run into
classic Windows "DLL Hell".

A quick perusal of the libtool mailing list implies that they are not
allowing static libs to be linked into dynamic libs quite on purpose.
Their reasoning seems to be: "What if two dynamic libs linked against
two different versions of the same static lib?  They'd each export the
same symbols, which would conflict."  Which is certainly something to
think about, but they give no way to say "no, this isn't (likely) to
happen; do it anyway".

http://lists.gnu.org/archive/html/bug-libtool/2003-05/msg00026.html

> How does libtool/mingw choose not to build a dll for libotr?

DLLs are never built unless you turn off static libs, I'm pretty sure.

> Is there really a libotr.la?  Does it only have a static lib listed in
> it?  It looks like there is a mingw DESTDIR in /usr/i586-mingw32msvc -
> am I following correctly?

All correct.

> I wonder if you put $(DESTDIR)/lib/libotr.a as an object, rather than
> -lotr.

Same problem.

> Sure, that would be good.  What do you have to do to set up mingw?  Is
> it just loading the mingw packages?

Yes; on Debian it was (I think) "apt-get install mingw32".

> Then, I presume you have to build
> gaim and gtk etc.   Are there binary packages of those that I can
> unpack on my netbsd system to compile otr/gaim-otr against?

I just grabbed the relevant dlls from dlldump.com, but arguably,
compiling them from source is "better".  :-)

> I don't know how to express ranges in pkg-config.  Right now, though,
> I'd say the real harm from trying to compile against newer gaim
> versions is small.  Plus, we'd want to ifdef the code for the
> differences, rather than reject them at configure time.

Right, once we know what those differences are.  Putting the check at
configure time means that if gaim-2.0.0 is released tomorrow, gaim-otr
will fail to build with it until someone gets around to seeing what
those incompatible changes are.

   - Ian



More information about the OTR-dev mailing list