[Pidgin] #7872: Libpurple plugins can't find purple_* symbols
Pidgin
trac at pidgin.im
Mon Dec 22 15:34:28 EST 2008
#7872: Libpurple plugins can't find purple_* symbols
--------------------------+-------------------------------------------------
Reporter: brunoabinader | Type: defect
Status: new | Component: libpurple
Version: 2.5.3 | Keywords: libpurple, LD_PRELOAD, undefined symbol
--------------------------+-------------------------------------------------
Using python-purple python bindings for libpurple, when executing an
example client ''nullclient.py'', the output below is generated:
{{{
$ python2.5 nullclient.py
(16:21:26) prefs: Reading /tmp/prefs.xml
(16:21:26) prefs: Reading /etc/purple/prefs.xml
(16:21:26) core_ui_ops: ui_prefs_init
(16:21:26) prefs: Reading /tmp/prefs.xml
(16:21:26) prefs: Reading /etc/purple/prefs.xml
(16:21:26) core_ui_ops: debug_ui_init
(16:21:26) dbus: okkk
(16:21:26) plugins: probing /usr/lib/purple-2/ssl-nss.so
(16:21:26) plugins: /usr/lib/purple-2/ssl-nss.so is not loadable:
undefined symbol: purple_certificate_unregister_scheme
python2.5: symbol lookup error: /usr/lib/purple-2/ssl-nss.so: undefined
symbol: purple_plugin_register
}}}
This problem disappears when the same command is executed using LD_PRELOAD
environment variable to preload libpurple.so:
{{{
$ LD_PRELOAD=/usr/lib/libpurple.so python2.5 nullclient.py
}}}
This is strange since purple.so python module is compiled with dynamic
links for glib and libpurple:
{{{
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/c_purple.o
build/purple.o -o build/purple.so -lpurple -lglib-2.0
}}}
This problem also appears to exist when trying to embed libpurple in other
applications:
[1] [OpenSER-Devel] libpurple integration problem
http://www.mail-archive.com/devel@lists.openser.org/msg01350.html
[2] Java Native Interface (JNI) - Loading a native library that loads the
libraries itself
http://forums.sun.com/thread.jspa?threadID=5196194&tstart=868
--
Ticket URL: <http://developer.pidgin.im/ticket/7872>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list