[OTR-dev] dynamic linking and gtk_imhtml_append_text_with_images

Greg Troxel gdt at ir.bbn.com
Tue Feb 1 14:23:54 EST 2011


Ian Goldberg <ian at cypherpunks.ca> writes:

> On Tue, Jan 25, 2011 at 04:36:15PM -0500, Greg Troxel wrote:
>
>> Specifically:
>> 
>>   how is the U symbol gtk_imhtml_append_text_with_image in the plugin
>>   resolved if pidgin is stripped?
>
> pidgin plugins use *lots* of functions provided by pidgin.

OK; I would expect that.

> $ nm pidgin-otr.so | egrep ' U (pidgin|purple)'
>
> shows 54 such functions.  So however those functions get resolved,
> gtk_imhtml_append_text_with_image should be the same.

I also see 54 functions, on NetBSD, plus
gtk_imhtml_append_text_with_image.

But /usr/pkg/bin/pidgin has no symbols.  This in and of itself does not
seem strange, but I am quite boggled as to how the symbols are resolved
(which on NetBSD, obviously they are - everything works fine).

I'm guessing you are using Linux; does the pidgin binary have symbols
(for the U ones in pidgin-otr.so)?

> Now it could be that some more recent version of pidgin has removed that
> function.  That would indeed be trickier, as pidgin-otr would have to be
> rewritten so as to not expect it.

I don't think that's the case; the sources that I am building from on
the mac are the same as on NetBSD, and I can see the function.

>>   how are symbols in gtk resolved in the plugin if the plugin does not
>>   link against gtk?  Are they available because pidgin has linked
>>   against them?
>
> Yes, usually.

So that part will probably be ok; my problem may be only how the
dynamically loaded plugin resolves against pidgin's symbols.

>>   How can pidgin-otr work with the text-mode libpurple client?  Or is
>>   this truly a pidgin plugin only?
>
> pidgin-otr is architected with a separation between the logic and the
> ui.  As normally built, the ui is the gtk one which is intended to work
> with pidgin.  If someone were to write a different ui part, the intent
> is that it would work fine with finch.  (But I don't know of anyone
> who's done that yet.)

OK, that makes sense.


Thanks for the hints; I'll keep looking into this as I have time.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.cypherpunks.ca/pipermail/otr-dev/attachments/20110201/0965a829/attachment.pgp>


More information about the OTR-dev mailing list