[Pidgin] #2736: purple plugins linking (with patch)

Pidgin trac at pidgin.im
Thu May 29 14:01:48 EDT 2008


#2736: purple plugins linking (with patch)
-------------------------+--------------------------------------------------
  Reporter:  IgorZubkov  |       Owner:  seanegan
      Type:  patch       |      Status:  assigned
  Priority:  minor       |   Milestone:          
 Component:  libpurple   |     Version:  2.1.1   
Resolution:              |    Keywords:  linking 
   Pending:  1           |  
-------------------------+--------------------------------------------------
Changes (by rlaager):

  * pending:  0 => 1

Comment:

 Why is this necessary? How does this "fix" things?

 The following points are from the URL you posted:
     *  Full link is performed by the final binary linking. At this stage
 all the knowledge about compatible versions of libraries and their symbol
 versioning is already lost, so it may result in runtime errors, when
 binary links incompatible versions of libraries or libraries with
 incompatible symbol versioning.
     * It's not possible to prelink underlinked libraries.
     * It's not possible to link with underlinked libraries in --as-needed
 mode.

 The first is irrelevant. libpurple already handles plugin versioning, so
 that's not a problem. The third doesn't matter, as nobody should be
 linking with a plugin ever. That leaves only the prelinking. Is that what
 you're trying to fix? Are you sure that matters? These plugins aren't in
 /lib or /usr/lib, so would prelink even be looking at them anyway?

 Not linking the plugins with libpurple allows us to load plugins that are
 from an old version (when the OS does lazy symbol binding) and thus
 display it to the user as greyed out with a message about an ABI mismatch.
 (Now perhaps the text of that message should be improved, but that's
 better than some other more generic linking failure message.)

-- 
Ticket URL: <http://developer.pidgin.im/ticket/2736#comment:6>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list