On Sun, Dec 13, 2009 at 11:21 AM, Matthias Klose wrote:
> On 13.12.2009 16:29, Michael Gilbert wrote:
>>
>> Hi all,
>>
>> In order to guarantee that the system expat is used, the
>> '--with-expat=sys' configure argument must be used.  If you think
>> your package is already using the system expat, or if you are updating
>> your package to use the system expat, please check to make sure that
>> this option is being used. Thanks.
>
> there's no such option for python, which uses a modified copy of expat.

the only difference in python's expat is that the symbols are renamed.
 and that is only to avoid namespace collisions between different
expat versions.  this would not be a problem on a system that uses the
same expat system version and python version.  see pyexpatns.h:

 * Namespace all expat exported symbols to avoid dynamic loading symbol
 * collisions when embedding Python.
 *
 * The Problem:
 * - you embed Python in some app
 * - the app dynamically loads libexpat of version X
 * - the embedded Python imports pyexpat (which was built against
 *   libexpat version X+n)
 * --> pyexpat gets the expat symbols from the already loaded and *older*
 *     libexpat: crash (Specifically the crash we observed was in
 *     getting an old XML_ErrorString (from xmlparse.c) and then calling
 *     it with newer values in the XML_Error enum:
 *
 *       // pyexpat.c, line 1970
 *       ...
 *       // Added in Expat 1.95.7.
 *       MYCONST(XML_ERROR_UNBOUND_PREFIX);
 *       ...
 *
 *
 * The Solution:
 * Prefix all a exported symbols with "PyExpat_". This is similar to
 * what Mozilla does for some common libs:
 * http://lxr.mozilla.org/seamonkey/source/modules/libimg/png/mozpngconf.h#115
 *
 * The list of relevant exported symbols can be had with this command:
 *
       nm pyexpat.so \
           | grep -v " [a-zBUA] " \
           | grep -v "_fini\|_init\|initpyexpat"
 *
 * If any of those symbols are NOT prefixed with "PyExpat_" then
 * a #define should be added for it here.

i think that the system lib can be used.

mike



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to