From: Bruno Abinader Date: Mon, 1 Jun 2009 23:28:37 +0000 (-0400) Subject: Fixed LD_PRELOAD bug by forcing the global symbol table load. X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=63ae527a0939ee355fcbea3431bc78edebfaa413 Fixed LD_PRELOAD bug by forcing the global symbol table load. By default, python isn't putting the purple.so or any dependency symbols (oh hey, like libpurple.so!) in the global symbol table when loading it. LD_PRELOAD works because the loader loads all libpurple's symbols before python can. Thanks for darkrain42 for the help! http://developer.pidgin.im/ticket/7872#comment:3 Signed-off-by: Bruno Abinader --- diff --git a/nullclient-ecore.py b/nullclient-ecore.py index 571df91..76ff24c 100644 --- a/nullclient-ecore.py +++ b/nullclient-ecore.py @@ -19,6 +19,10 @@ import etk import ecore +import sys, dl + +sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL) + import purple # The information below is needed by libpurple diff --git a/nullclient.py b/nullclient.py index 8c7cb6b..2dbbda0 100644 --- a/nullclient.py +++ b/nullclient.py @@ -18,10 +18,13 @@ # import getpass -import purple -import sys +import sys, dl import time +sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL) + +import purple + # The information below is needed by libpurple __NAME__ = "nullclient" __VERSION__ = "0.1"