From mike at it-loops.com Fri Mar 2 07:44:32 2007 From: mike at it-loops.com (Michael Guntsche) Date: Fri, 02 Mar 2007 07:44:32 +0100 Subject: [lxml-dev] lxml 1.3beta released In-Reply-To: References: <45E45C84.8070908@behnel.de> Message-ID: Sidnei da Silva writes: > On 2/27/07, Martijn Faassen wrote: >> Sidnei da Silva wrote: >> > Installers for Windows, for Python 2.3, 2.4 and 2.5 have been uploaded. >> >> I'm really happy to see you do this, Sidnei! > > Thanks everyone for your nice words! > Hello Sidnei, What happened to the uploads on cheeseshop. I can only find the windows eggs for 1.2.1 the ones for 1.3 are missing. Have they been removed or is there a problem with cheeseshop? Kind regards, Michael From cz at gocept.com Fri Mar 2 08:15:07 2007 From: cz at gocept.com (Christian Zagrodnick) Date: Fri, 2 Mar 2007 08:15:07 +0100 Subject: [lxml-dev] lxml 1.3beta released References: <45E45C84.8070908@behnel.de> Message-ID: Hoi On 2007-02-27 17:29:56 +0100, Stefan Behnel said: > Hi all, > > together with 1.2.1, I released a beta version of the upcoming 1.3 series. It > contains a number of bigger changes and enhancements over the 1.2 series. The > main difference is a rewrite of the internal namespace cleanup code that > should reduce the problems related to duplicated namespace declarations and > the like. Yey, the beta works great here. Thanks. -- Christian Zagrodnick gocept gmbh & co. kg ? forsterstrasse 29 ? 06112 halle/saale www.gocept.com ? fon. +49 345 12298894 ? fax. +49 345 12298891 From mike at it-loops.com Fri Mar 2 08:19:28 2007 From: mike at it-loops.com (Michael Guntsche) Date: Fri, 02 Mar 2007 08:19:28 +0100 Subject: [lxml-dev] lxml 1.3beta released In-Reply-To: References: <45E45C84.8070908@behnel.de> Message-ID: Michael Guntsche writes: > Hello Sidnei, > > What happened to the uploads on cheeseshop. I can only find the windows eggs > for 1.2.1 the ones for 1.3 are missing. Have they been removed or is there a > problem with cheeseshop? > To answer my own E-mail. A search on cheeseshop did not find the 1.3beta release. I found it under http://cheeseshop.python.org/pypi/lxml/1.3beta The obvious location of course. I do not know why the search did not return it, since I found it yesterday. Nevertheless, thank you once again for providing pre-compiled binary builds for windows. Kind regards, Michael From sidnei at enfoldsystems.com Fri Mar 2 14:20:44 2007 From: sidnei at enfoldsystems.com (Sidnei da Silva) Date: Fri, 2 Mar 2007 10:20:44 -0300 Subject: [lxml-dev] lxml 1.3beta released In-Reply-To: References: <45E45C84.8070908@behnel.de> Message-ID: On 3/2/07, Michael Guntsche wrote: > Hello Sidnei, > > What happened to the uploads on cheeseshop. I can only find the windows eggs > for 1.2.1 the ones for 1.3 are missing. Have they been removed or is there a > problem with cheeseshop? You mean those? http://cheeseshop.python.org/pypi/lxml/1.3beta -- Sidnei da Silva Enfold Systems http://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 From doug at isotoma.com Mon Mar 5 15:42:16 2007 From: doug at isotoma.com (Doug Winter) Date: Mon, 05 Mar 2007 14:42:16 +0000 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** Message-ID: <45EC2C48.7060900@isotoma.com> Hi, I'm getting this error at times using lxml: *** glibc detected *** free(): invalid pointer: 0x086449e7 *** Unfortunately the smallest test fixture I have that does this involves running all of TurboGears - when I do this without TurboGears I don't get the error. However, I've got a backtrace from gdb that points it's finger at libxml2. I'm trying here first in case this is really an lxml problem. (gdb) bt #0 0xb7fcd410 in ?? () #1 0xb4a9ac4c in ?? () #2 0x00000006 in ?? () #3 0x00007da7 in ?? () #4 0xb7e7c811 in raise () from /lib/tls/i686/cmov/libc.so.6 #5 0xb7e7dfb9 in abort () from /lib/tls/i686/cmov/libc.so.6 #6 0xb7eb1d3a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 #7 0xb7eb95cf in mallopt () from /lib/tls/i686/cmov/libc.so.6 #8 0xb7eb9672 in free () from /lib/tls/i686/cmov/libc.so.6 #9 0xb729055d in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #10 0xb72906a2 in xmlFreeProp () from /usr/lib/libxml2.so.2 #11 0xb729091b in xmlFreePropList () from /usr/lib/libxml2.so.2 #12 0xb72904fa in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #13 0xb72902fe in xmlFreeDoc () from /usr/lib/libxml2.so.2 #14 0xb73f3cc6 in initTagMatch () from /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so #15 0xb73f3aec in initTagMatch () from /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so #16 0xb73b9826 in iteratorStoreNext () from /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so #17 0xb73b968c in iteratorStoreNext () from /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so #18 0xb73beb06 in iteratorStoreNext () from /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so The code that causes this is calling the html method of an instance of the following class (I've provided the whole thing for context): class Weather(Entity): has_field('id', Integer, primary_key=True) has_field('url', String) has_field('latitude', Numeric(10, 7), nullable=False) has_field('longitude', Numeric(10, 7), nullable=False) has_field('document', Unicode) using_options(tablename='weather') xsl = etree.XSLT(etree.parse(open(os.path.join(util.datadir(), 'xsl', 'weather.xsl')))) @classmethod def near(klass, latitude, longitude): return klass.select(order_by=func.sqrt(func.pow(klass.c.latitude-latitude, 2) + func.pow(klass.c.longitude-longitude,2)), limit=1)[0] def html(self): doc = etree.fromstring(self.document) html = self.xsl(doc) return unicode(html) Can anyone point me in the right direction to help debug or fix this? Cheers, Doug. -- Isotoma, Open Source Software Consulting - http://www.isotoma.com Tel: 01904 567349, Mobile: 07879 423002, Fax: 020 79006980 Postal Address: Tower House, Fishergate, York, YO10 4UA, UK Registered in England. Company No 5171172. VAT GB843570325. Registered Office: 19a Goodge Street, London, W1T 2PH From stefan_ml at behnel.de Mon Mar 5 16:56:35 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Mon, 05 Mar 2007 16:56:35 +0100 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45EC2C48.7060900@isotoma.com> References: <45EC2C48.7060900@isotoma.com> Message-ID: <45EC3DB3.3040007@behnel.de> Hi, Doug Winter wrote: > I'm getting this error at times using lxml: > > *** glibc detected *** free(): invalid pointer: 0x086449e7 *** > > Unfortunately the smallest test fixture I have that does this involves > running all of TurboGears - when I do this without TurboGears I don't > get the error. However, I've got a backtrace from gdb that points it's > finger at libxml2. I'm trying here first in case this is really an lxml > problem. > > (gdb) bt > #0 0xb7fcd410 in ?? () > #1 0xb4a9ac4c in ?? () > #2 0x00000006 in ?? () > #3 0x00007da7 in ?? () > #4 0xb7e7c811 in raise () from /lib/tls/i686/cmov/libc.so.6 > #5 0xb7e7dfb9 in abort () from /lib/tls/i686/cmov/libc.so.6 > #6 0xb7eb1d3a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 > #7 0xb7eb95cf in mallopt () from /lib/tls/i686/cmov/libc.so.6 > #8 0xb7eb9672 in free () from /lib/tls/i686/cmov/libc.so.6 > #9 0xb729055d in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #10 0xb72906a2 in xmlFreeProp () from /usr/lib/libxml2.so.2 > #11 0xb729091b in xmlFreePropList () from /usr/lib/libxml2.so.2 > #12 0xb72904fa in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #13 0xb72902fe in xmlFreeDoc () from /usr/lib/libxml2.so.2 > #14 0xb73f3cc6 in initTagMatch () > from > /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so > #15 0xb73f3aec in initTagMatch () > from > /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so > #16 0xb73b9826 in iteratorStoreNext () > from > /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so > #17 0xb73b968c in iteratorStoreNext () > from > /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so > #18 0xb73beb06 in iteratorStoreNext () > from > /var/local/sites/mma.dev7.isotoma.com/lib/python2.4/site-packages/lxml/etree.so Hmmm, two things that leave me puzzled: * "iteratorStoreNext" points to the external C-API of etree, however, it is unlikely that it is used here. lxml.objectify is currently the only module that uses it. * if "_iteratorStoreNext" is meant instead (mind the underscore), it refers to element iteration. And I can't see where iteration is used in your example. Any ideas from your side where iteration comes into play in your code? Stefan From stefan_ml at behnel.de Mon Mar 5 18:20:43 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Mon, 05 Mar 2007 18:20:43 +0100 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45EC4F93.7050003@isotoma.com> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> Message-ID: <45EC516B.9000604@behnel.de> Hi Doug, Doug Winter wrote: > Stefan Behnel wrote: >> Hmmm, two things that leave me puzzled: >> >> * "iteratorStoreNext" points to the external C-API of etree, however, >> it is >> unlikely that it is used here. lxml.objectify is currently the only >> module >> that uses it. >> >> * if "_iteratorStoreNext" is meant instead (mind the underscore), it >> refers to >> element iteration. And I can't see where iteration is used in your >> example. >> >> Any ideas from your side where iteration comes into play in your code? > > Hi Stefan, > > All I am doing is applying an XSL transform using etree.XSLT()(). I've > checked that backtrace again, and there are no underscores in > iteratorStoreNext. I've attached the XSL stylesheet I'm using, in case > that helps. The only unusual thing about it, perhaps, is that I am > using exsl:node-set. > > Incidentally, I previously forgot to provide version numbers: > > lxml.etree: (1, 1, 1, 0) > libxml used: (2, 6, 27) > libxml compiled: (2, 6, 26) > libxslt used: (1, 1, 19) > libxslt compiled: (1, 1, 17) Ah, ok. Any chance you could switch to either 1.2 or 1.3beta? There were a number of bug fixes since 1.1.1 that might be related here. Stefan From doug at isotoma.com Mon Mar 5 18:46:19 2007 From: doug at isotoma.com (Doug Winter) Date: Mon, 05 Mar 2007 17:46:19 +0000 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45EC516B.9000604@behnel.de> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> <45EC516B.9000604@behnel.de> Message-ID: <45EC576B.9030402@isotoma.com> Stefan Behnel wrote: > Ah, ok. Any chance you could switch to either 1.2 or 1.3beta? There were a > number of bug fixes since 1.1.1 that might be related here. I thought I'd tried this before (I've been hunting this bug a while), and I had, but now this is narrowed down a bit it's more interesting. 1.3beta still abends: *** glibc detected *** free(): invalid pointer: 0x085a8a8d *** But the backtrace is different: (gdb) bt #0 0xb7fce410 in ?? () #1 0xb4a97c0c in ?? () #2 0x00000006 in ?? () #3 0x000044c7 in ?? () #4 0xb7e7d811 in raise () from /lib/tls/i686/cmov/libc.so.6 #5 0xb7e7efb9 in abort () from /lib/tls/i686/cmov/libc.so.6 #6 0xb7eb2d3a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 #7 0xb7eba5cf in mallopt () from /lib/tls/i686/cmov/libc.so.6 #8 0xb7eba672 in free () from /lib/tls/i686/cmov/libc.so.6 #9 0xb728d55d in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #10 0xb728d6a2 in xmlFreeProp () from /usr/lib/libxml2.so.2 #11 0xb728d91b in xmlFreePropList () from /usr/lib/libxml2.so.2 #12 0xb728d4fa in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #13 0xb728d4d6 in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #14 0xb728d4d6 in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #15 0xb728d4d6 in xmlFreeNodeList () from /usr/lib/libxml2.so.2 #16 0xb728d2fe in xmlFreeDoc () from /usr/lib/libxml2.so.2 #17 0xb73ed006 in __pyx_tp_dealloc_5etree__Document (o=0xb6e2848c) at src/lxml/etree.c:10807 #18 0xb73f01e1 in __pyx_tp_dealloc_5etree__Element (o=0xb6e32acc) at src/lxml/etree.c:38083 #19 0xb73b75ec in __pyx_tp_dealloc_5etree__ElementTree (o=0xb6e32a54) at src/lxml/etree.c:38892 #20 0xb73bc626 in __pyx_tp_dealloc_5etree__XSLTResultTree (o=0xb6e32a54) at src/lxml/etree.c:47656 Just to confirm the version: >>> from lxml import etree >>> etree.LXML_VERSION (1, 3, -1, 0) Cheers, Doug. -- Isotoma, Open Source Software Consulting - http://www.isotoma.com Tel: 01904 567349, Mobile: 07879 423002, Fax: 020 79006980 Postal Address: Tower House, Fishergate, York, YO10 4UA, UK Registered in England. Company No 5171172. VAT GB843570325. Registered Office: 19a Goodge Street, London, W1T 2PH From stefan_ml at behnel.de Mon Mar 5 19:16:30 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Mon, 05 Mar 2007 19:16:30 +0100 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45EC576B.9030402@isotoma.com> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> <45EC516B.9000604@behnel.de> <45EC576B.9030402@isotoma.com> Message-ID: <45EC5E7E.3010904@behnel.de> Doug Winter wrote: > Stefan Behnel wrote: >> Ah, ok. Any chance you could switch to either 1.2 or 1.3beta? There >> were a >> number of bug fixes since 1.1.1 that might be related here. > > I thought I'd tried this before (I've been hunting this bug a while), > and I had, but now this is narrowed down a bit it's more interesting. > 1.3beta still abends: > > *** glibc detected *** free(): invalid pointer: 0x085a8a8d *** > > But the backtrace is different: > > (gdb) bt > #0 0xb7fce410 in ?? () > #1 0xb4a97c0c in ?? () > #2 0x00000006 in ?? () > #3 0x000044c7 in ?? () > #4 0xb7e7d811 in raise () from /lib/tls/i686/cmov/libc.so.6 > #5 0xb7e7efb9 in abort () from /lib/tls/i686/cmov/libc.so.6 > #6 0xb7eb2d3a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 > #7 0xb7eba5cf in mallopt () from /lib/tls/i686/cmov/libc.so.6 > #8 0xb7eba672 in free () from /lib/tls/i686/cmov/libc.so.6 > #9 0xb728d55d in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #10 0xb728d6a2 in xmlFreeProp () from /usr/lib/libxml2.so.2 > #11 0xb728d91b in xmlFreePropList () from /usr/lib/libxml2.so.2 > #12 0xb728d4fa in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #13 0xb728d4d6 in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #14 0xb728d4d6 in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #15 0xb728d4d6 in xmlFreeNodeList () from /usr/lib/libxml2.so.2 > #16 0xb728d2fe in xmlFreeDoc () from /usr/lib/libxml2.so.2 > #17 0xb73ed006 in __pyx_tp_dealloc_5etree__Document (o=0xb6e2848c) > at src/lxml/etree.c:10807 > #18 0xb73f01e1 in __pyx_tp_dealloc_5etree__Element (o=0xb6e32acc) > at src/lxml/etree.c:38083 > #19 0xb73b75ec in __pyx_tp_dealloc_5etree__ElementTree (o=0xb6e32a54) > at src/lxml/etree.c:38892 > #20 0xb73bc626 in __pyx_tp_dealloc_5etree__XSLTResultTree (o=0xb6e32a54) > at src/lxml/etree.c:47656 Hmm... I also heavily suspect the node-set function, but that would still not make it a clear problem in libxml2, as lxml is at least a bit involved in the function call (although not much). Could you check if the problem goes away if you replace the respective copy-of that creates the result set fragment in 'stuff' by something like for-each (or whatever)? Personally, I would report it to the libxml2 people. It may be easier for them to track this down. http://bugzilla.gnome.org/buglist.cgi?product=libxml2 Stefan From doug at isotoma.com Tue Mar 6 10:10:38 2007 From: doug at isotoma.com (Doug Winter) Date: Tue, 06 Mar 2007 09:10:38 +0000 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45EC5E7E.3010904@behnel.de> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> <45EC516B.9000604@behnel.de> <45EC576B.9030402@isotoma.com> <45EC5E7E.3010904@behnel.de> Message-ID: <45ED300E.2080403@isotoma.com> Stefan Behnel wrote: > Could you check if the problem goes away if you replace the respective copy-of > that creates the result set fragment in 'stuff' by something like for-each (or > whatever)? I shall try that now. > Personally, I would report it to the libxml2 people. It may be easier for them > to track this down. Yep, I thought that might be the case. To join things up, here's the bug: http://bugzilla.gnome.org/show_bug.cgi?id=415233 Cheers, Doug. -- Isotoma, Open Source Software Consulting - http://www.isotoma.com Tel: 01904 567349, Mobile: 07879 423002, Fax: 020 79006980 Postal Address: Tower House, Fishergate, York, YO10 4UA, UK Registered in England. Company No 5171172. VAT GB843570325. Registered Office: 19a Goodge Street, London, W1T 2PH From doug at isotoma.com Tue Mar 6 10:19:10 2007 From: doug at isotoma.com (Doug Winter) Date: Tue, 06 Mar 2007 09:19:10 +0000 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45ED300E.2080403@isotoma.com> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> <45EC516B.9000604@behnel.de> <45EC576B.9030402@isotoma.com> <45EC5E7E.3010904@behnel.de> <45ED300E.2080403@isotoma.com> Message-ID: <45ED320E.2030106@isotoma.com> Doug Winter wrote: > Stefan Behnel wrote: >> Could you check if the problem goes away if you replace the respective copy-of >> that creates the result set fragment in 'stuff' by something like for-each (or >> whatever)? > > I shall try that now. Same thing happens with a for-each, again in xmlFreeNodeList :/ However, something that just occurred to me. If I change my class a bit so that the xsl stylesheet is no longer instantiated as a class-level attribute, but instead the stylesheet is created within the method call: def html(self): xsl = etree.XSLT(etree.parse(open(os.path.join(util.datadir(), 'xsl', 'weather.xsl')))) doc = etree.fromstring(self.document) html = xsl(doc) return unicode(html) It works ok. Previously it was like: xsl = etree.XSLT(etree.parse(open(os.path.join(util.datadir(), 'xsl', 'weather.xsl')))) def html(self): doc = etree.fromstring(self.document) html = self.xsl(doc) return unicode(html) I think this must be a multi-threading issue. Does this help? Cheers, Doug. -- Isotoma, Open Source Software Consulting - http://www.isotoma.com Tel: 01904 567349, Mobile: 07879 423002, Fax: 020 79006980 Postal Address: Tower House, Fishergate, York, YO10 4UA, UK Registered in England. Company No 5171172. VAT GB843570325. Registered Office: 19a Goodge Street, London, W1T 2PH From stefan_ml at behnel.de Tue Mar 6 11:32:07 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Tue, 06 Mar 2007 11:32:07 +0100 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45ED320E.2030106@isotoma.com> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> <45EC516B.9000604@behnel.de> <45EC576B.9030402@isotoma.com> <45EC5E7E.3010904@behnel.de> <45ED300E.2080403@isotoma.com> <45ED320E.2030106@isotoma.com> Message-ID: <45ED4327.1090403@behnel.de> Hi Doug, Doug Winter wrote: > Doug Winter wrote: >> Stefan Behnel wrote: >>> Could you check if the problem goes away if you replace the respective copy-of >>> that creates the result set fragment in 'stuff' by something like for-each (or >>> whatever)? >> I shall try that now. > > Same thing happens with a for-each, again in xmlFreeNodeList :/ I only understood now what your script is actually doing. I meant to eliminate the call to node-set, but I guess for-each will not even work here. What about a plain copy-of with an XPath expression like this: /.../description/*[count(preceding-sibling::br) > 5 and count(preceding-siblings::br) <= 7] Could that do what you want (without requiring the node-set function)? > However, something that just occurred to me. If I change my class a bit > so that the xsl stylesheet is no longer instantiated as a class-level > attribute, but instead the stylesheet is created within the method call: > > def html(self): > xsl = etree.XSLT(etree.parse(open(os.path.join(util.datadir(), > 'xsl', 'weather.xsl')))) > doc = etree.fromstring(self.document) > html = xsl(doc) > return unicode(html) > > It works ok. > > Previously it was like: > > xsl = etree.XSLT(etree.parse(open(os.path.join(util.datadir(), > 'xsl', 'weather.xsl')))) > > def html(self): > doc = etree.fromstring(self.document) > html = self.xsl(doc) > return unicode(html) > > > I think this must be a multi-threading issue. Does this help? Sounds like it. Is the class instantiated from the main thread (the one that imports etree) or from a different thread? Sadly, that makes a difference in etree - the latter will not work. Normally, this should be caught in XSLT(), but maybe this is a special case somehow... Stefan From doug at isotoma.com Tue Mar 6 11:38:56 2007 From: doug at isotoma.com (Doug Winter) Date: Tue, 06 Mar 2007 10:38:56 +0000 Subject: [lxml-dev] *** glibc detected *** free(): invalid pointer: 0x086449e7 *** In-Reply-To: <45ED4327.1090403@behnel.de> References: <45EC2C48.7060900@isotoma.com> <45EC3DB3.3040007@behnel.de> <45EC4F93.7050003@isotoma.com> <45EC516B.9000604@behnel.de> <45EC576B.9030402@isotoma.com> <45EC5E7E.3010904@behnel.de> <45ED300E.2080403@isotoma.com> <45ED320E.2030106@isotoma.com> <45ED4327.1090403@behnel.de> Message-ID: <45ED44C0.1030504@isotoma.com> Stefan Behnel wrote: > Sounds like it. Is the class instantiated from the main thread (the one that > imports etree) or from a different thread? Sadly, that makes a difference in > etree - the latter will not work. Normally, this should be caught in XSLT(), > but maybe this is a special case somehow... Frankly I don't know, but it does sound like the latter. I am creating the XSL instance each time now in the method, and that does resolve it. Can you explain why this makes a difference, or point me to some docs? I'd like to understand this if I can :) Cheers, Doug. -- Isotoma, Open Source Software Consulting - http://www.isotoma.com Tel: 01904 567349, Mobile: 07879 423002, Fax: 020 79006980 Postal Address: Tower House, Fishergate, York, YO10 4UA, UK Registered in England. Company No 5171172. VAT GB843570325. Registered Office: 19a Goodge Street, London, W1T 2PH From mike at it-loops.com Sat Mar 10 08:39:37 2007 From: mike at it-loops.com (Michael Guntsche) Date: Sat, 10 Mar 2007 08:39:37 +0100 Subject: [lxml-dev] Compilation problem with current trunk Message-ID: <97DB26F2-B555-4DD3-8E0A-C985B6C573BC@it-loops.com> Hello, I updated to the latest trunk today and tried compiling. I got the following error. building 'lxml.etree' extension lxml/src/lxml/xpath.pxi:146:27: C method can only be called lxml/src/lxml/xpath.pxi:146:27: Cannot convert 'PyObject *((struct __pyx_obj_5etree__BaseContext *,PyObject *,PyObject *))' to Python object I went through the last changes and found out that the brake happened between 39965 and 39966. I revertet the change in extensions.pxi that changed def addNamespace to cdef addNamespace and it compiled again. I am not sure if this is the correct fix, since my pyrex knowledge is almost non-existant, but it compiled for me. Kind regards, Michael From mike at it-loops.com Sat Mar 10 12:20:01 2007 From: mike at it-loops.com (Michael Guntsche) Date: Sat, 10 Mar 2007 12:20:01 +0100 Subject: [lxml-dev] Compilation problem with current trunk In-Reply-To: <97DB26F2-B555-4DD3-8E0A-C985B6C573BC@it-loops.com> References: <97DB26F2-B555-4DD3-8E0A-C985B6C573BC@it-loops.com> Message-ID: <5B14D28F-EDCB-42B0-96A9-12B5AD7E8F00@it-loops.com> On Mar 10, 2007, at 8:39, Michael Guntsche wrote: > def addNamespace > to > cdef addNamespace > Ok, looking at this some more, I think the correct solution for this problem would be changing the registerNamespaces method in xpath.xpi. -------------- next part -------------- A non-text attachment was scrubbed... Name: xpath.patch Type: application/octet-stream Size: 574 bytes Desc: not available Url : http://codespeak.net/pipermail/lxml-dev/attachments/20070310/50556e13/attachment.obj -------------- next part -------------- This works for me. Kind regards, Michael From stefan_ml at behnel.de Sat Mar 10 16:57:06 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Sat, 10 Mar 2007 16:57:06 +0100 Subject: [lxml-dev] Compilation problem with current trunk In-Reply-To: <5B14D28F-EDCB-42B0-96A9-12B5AD7E8F00@it-loops.com> References: <97DB26F2-B555-4DD3-8E0A-C985B6C573BC@it-loops.com> <5B14D28F-EDCB-42B0-96A9-12B5AD7E8F00@it-loops.com> Message-ID: <45F2D552.4060709@behnel.de> Hi, Michael Guntsche wrote: >> def addNamespace >> to >> cdef addNamespace > > Ok, looking at this some more, I think the correct solution for this > problem would be changing the registerNamespaces method in xpath.xpi. Right. Sorry for the incomplete commit. I was in the middle of a rewrite of the internal extension function setup in XPath. Here's the patch. Regards, Stefan Index: src/lxml/xpath.pxi =================================================================== --- src/lxml/xpath.pxi (Revision 39804) +++ src/lxml/xpath.pxi (Arbeitskopie) @@ -143,9 +180,8 @@ def registerNamespaces(self, namespaces): """Register a prefix -> uri dict. """ - add = self._context.addNamespace for prefix, uri in namespaces.items(): - add(prefix, uri) + self._context.addNamespace(prefix, uri) def __call__(self, _path, **_variables): """Evaluate an XPath expression on the document. From sidnei at enfoldsystems.com Wed Mar 14 18:32:06 2007 From: sidnei at enfoldsystems.com (Sidnei da Silva) Date: Wed, 14 Mar 2007 14:32:06 -0300 Subject: [lxml-dev] Deferred XInclude/Resolvers Message-ID: One of the projects I'm dealing with uses XInclude and Resolvers a lot. Some of the resources being included can potentially be large or just slow to fetch (usually using httplib). I was wondering if lxml could be modified in such a way that a resolver could return some sort of 'deferred node/node set' so that resolving multiple resources could happen in parallel. -- Sidnei da Silva Enfold Systems http://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 From edreamleo at charter.net Wed Mar 14 21:51:07 2007 From: edreamleo at charter.net (Edward K. Ream) Date: Wed, 14 Mar 2007 15:51:07 -0500 Subject: [lxml-dev] Errors while building from trunk Message-ID: <1173905467.20698.4.camel@edreamleo-laptop> I've been getting errors when trying to build after downloading from svn. I'm running Ubuntu on an 86 laptop. I think I've installed Pyrex correctly, but maybe not. Can anyone explain what I should do next? Thanks. edreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterso maybe not. parse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterso maybe not. parse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterso maybe not. parse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' notedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand typesedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter)edreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter)edreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operandedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operandedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' notedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a booleanedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a booleanedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' notedreamleo at edreamleo-laptop:~$ cd lxml edreamleo at edreamleo-laptop:~/lxml$ sudo python2.4 setup.py build Building lxml version 1.3.beta-40177 running build running build_py running build_ext building 'lxml.etree' extension /home/edreamleo/lxml/src/lxml/parser.pxi:642:30: Invalid operand types for '|' (xmlParserOption; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:494:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:527:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:556:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:581:42: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:684:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:686:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:689:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:692:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:694:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:696:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:698:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:700:42: Invalid operand types for '^' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:718:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:738:26: Invalid operand types for '&' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:811:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:813:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:815:42: Invalid operand types for '|' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/parser.pxi:817:42: Invalid operand types for '^' (int; htmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:16:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:18:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:20:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:22:36: Invalid operand types for '|' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:60: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:81:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:58: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:89:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:116:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:118:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:120:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:128:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:130:34: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:137:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:140:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:152:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:253:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:255:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:258:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:261:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:263:42: Invalid operand types for '|' (int; xmlParserOption) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:64: Invalid operand types for '|' (__pyx_t_5etree_IterparseEventFilter; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:398:38: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:401:40: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:411:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:413:32: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:417:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:426:30: Type '' not acceptable as a boolean /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Invalid operand types for '&' (int; __pyx_t_5etree_IterparseEventFilter) /home/edreamleo/lxml/src/lxml/iterparse.pxi:430:30: Type '' not acceptable as a boolean edreamleo at edreamleo-laptop:~/lxml$ From mike at it-loops.com Wed Mar 14 22:50:30 2007 From: mike at it-loops.com (Michael Guntsche) Date: Wed, 14 Mar 2007 22:50:30 +0100 Subject: [lxml-dev] Errors while building from trunk In-Reply-To: <1173905467.20698.4.camel@edreamleo-laptop> References: <1173905467.20698.4.camel@edreamleo-laptop> Message-ID: On Mar 14, 2007, at 21:51, Edward K. Ream wrote: > I've been getting errors when trying to build after downloading from > svn. I'm running Ubuntu on an 86 laptop. > I think I've installed Pyrex correctly, but maybe not. > Can anyone explain what I should do next? Thanks. > Ok, this is a "works-for-me"-recipe since I had problems with Pyrex as well. * Remove every installation of Pyrex you already installed just to be on the save side * Create an external definition in your repository and link it to the Pyrex version on codespeak.net In your lxml checkout directory call svn propedit svn:externals . and add the following line Pyrex http://codespeak.net/svn/lxml/pyrex/Pyrex * Do a "svn up" again to checkout the Pyrex version to your local repository * Try building lxml again. I hope this helps. Kind regards, Michael From stefan_ml at behnel.de Thu Mar 15 15:05:40 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Thu, 15 Mar 2007 15:05:40 +0100 Subject: [lxml-dev] Errors while building from trunk In-Reply-To: <1173905467.20698.4.camel@edreamleo-laptop> References: <1173905467.20698.4.camel@edreamleo-laptop> Message-ID: <45F952B4.4030607@behnel.de> Edward K. Ream wrote: > I've been getting errors when trying to build after downloading from > svn. I'm running Ubuntu on an 86 laptop. > I think I've installed Pyrex correctly, but maybe not. > Can anyone explain what I should do next? Thanks. Hi, the problem is: the current official Pyrex release (0.9.5.1a) is both a) broken and b) not capable of building lxml. Most likely, the next version will be fixed wrt. a) but b) will stay for a while. Please use the patched Pyrex as Michael suggests. Stefan From srichter at cosmos.phy.tufts.edu Thu Mar 15 19:42:14 2007 From: srichter at cosmos.phy.tufts.edu (Stephan Richter) Date: Thu, 15 Mar 2007 14:42:14 -0400 Subject: [lxml-dev] Parsing Information Message-ID: <200703151442.15024.srichter@cosmos.phy.tufts.edu> Hi all, I have recently reimplemented RML (Reportlab's XML format to generate PDFs) using lxml. All works well. Now, I would like to give my users some more information when an error occurs. For a pure XML parsing error, everything is fine (though I found the failure points hard to interpret at times). But what if the XML parses correctly, but while working with the element tree an error occurs? In this case I would like to tell the user not only the error message, but also the line/column and filename of point of failure. Ideally I would have the filename, start row and start column of each element available as part of the etree Element. I have tried to find this information or hooks for it.unsuccessfully. Could someone help me out here? Regards, Stephan -- Stephan Richter CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training From stefan_ml at behnel.de Fri Mar 16 16:49:58 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Fri, 16 Mar 2007 16:49:58 +0100 Subject: [lxml-dev] finding the line number of a parsed element In-Reply-To: <200703151442.15024.srichter@cosmos.phy.tufts.edu> References: <200703151442.15024.srichter@cosmos.phy.tufts.edu> Message-ID: <45FABCA6.7030700@behnel.de> Hi, Stephan Richter wrote: > I have recently reimplemented RML (Reportlab's XML format to generate PDFs) > using lxml. All works well. Interesting. Any chance you could provide a link? > Now, I would like to give my users some more information when an error occurs. > For a pure XML parsing error, everything is fine (though I found the failure > points hard to interpret at times). But what if the XML parses correctly, but > while working with the element tree an error occurs? In this case I would > like to tell the user not only the error message, but also the line/column > and filename of point of failure. This sounds a lot like a problem you could try to solve with validation. > Ideally I would have the filename, start row and start column of each element > available as part of the etree Element. I have tried to find this information > or hooks for it.unsuccessfully. There is no API for it, but internally, we have this information for parsed trees, at least the line number - note that exceptions contain the line number already. So we could easily add a property "_line" to elements that returns the line number at which the element was parsed (*if* it was parsed). I don't like the fact so much that libxml2 puts a zero there if the node was created by hand, but I assume that is not too much of a problem either. I personally prefer "_line" over "line", as this only applies to parsed elements, not all of them, so this is more of a half-working API. Additionally, any additional attribute there goes off the list of children accessible in objectify. We could also consider adding an external utility module to provide helpers like this that are not really worth poluting the API. Something like lxml.tools.lineof(element) But maybe that's just overkill... Any comments? Stefan From srichter at cosmos.phy.tufts.edu Fri Mar 16 20:08:41 2007 From: srichter at cosmos.phy.tufts.edu (Stephan Richter) Date: Fri, 16 Mar 2007 15:08:41 -0400 Subject: [lxml-dev] finding the line number of a parsed element In-Reply-To: <45FABCA6.7030700@behnel.de> References: <200703151442.15024.srichter@cosmos.phy.tufts.edu> <45FABCA6.7030700@behnel.de> Message-ID: <200703161508.41811.srichter@cosmos.phy.tufts.edu> On Friday 16 March 2007 11:49, Stefan Behnel wrote: > Hi, > > Stephan Richter wrote: > > I have recently reimplemented RML (Reportlab's XML format to generate > > PDFs) using lxml. All works well. > > Interesting. Any chance you could provide a link? Sure: http://svn.zope.org/z3c.rml/trunk/src/z3c/rml/ > > Now, I would like to give my users some more information when an error > > occurs. For a pure XML parsing error, everything is fine (though I found > > the failure points hard to interpret at times). But what if the XML > > parses correctly, but while working with the element tree an error > > occurs? In this case I would like to tell the user not only the error > > message, but also the line/column and filename of point of failure. > > This sounds a lot like a problem you could try to solve with validation. No, I cannot, since some stuff cannot be decided until I do Python calls. For example, I look up colors by names, but this is not a static list. > > Ideally I would have the filename, start row and start column of each > > element available as part of the etree Element. I have tried to find this > > information or hooks for it.unsuccessfully. > > There is no API for it, but internally, we have this information for parsed > trees, at least the line number - note that exceptions contain the line > number already. So we could easily add a property "_line" to elements that > returns the line number at which the element was parsed (*if* it was > parsed). I don't like the fact so much that libxml2 puts a zero there if > the node was created by hand, but I assume that is not too much of a > problem either. I think a zero is no problem. None would be better. :-) > I personally prefer "_line" over "line", as this only applies to parsed > elements, not all of them, so this is more of a half-working API. That would be perfect. > Additionally, any additional attribute there goes off the list of children > accessible in objectify. I don't understand this sentence. :-) > We could also consider adding an external utility module to provide helpers > like this that are not really worth poluting the API. Something like > > lxml.tools.lineof(element) That would be icing on the cake; either way is fine, If you consider such a tool, I would probably call it "parseInfo" or so, where maybe the filename, endline, and column info is available too. > Any comments? How fast can you do this? :-) Regards, Stephan -- Stephan Richter CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training From stefan_ml at behnel.de Fri Mar 16 20:29:13 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Fri, 16 Mar 2007 20:29:13 +0100 Subject: [lxml-dev] finding the line number of a parsed element In-Reply-To: <200703161508.41811.srichter@cosmos.phy.tufts.edu> References: <200703151442.15024.srichter@cosmos.phy.tufts.edu> <45FABCA6.7030700@behnel.de> <200703161508.41811.srichter@cosmos.phy.tufts.edu> Message-ID: <45FAF009.3020709@behnel.de> Hi, Stephan Richter wrote: >>> Ideally I would have the filename, start row and start column of each >>> element available as part of the etree Element. I have tried to find this >>> information or hooks for it.unsuccessfully. >> There is no API for it, but internally, we have this information for parsed >> trees, at least the line number - note that exceptions contain the line >> number already. So we could easily add a property "_line" to elements that >> returns the line number at which the element was parsed (*if* it was >> parsed). I don't like the fact so much that libxml2 puts a zero there if >> the node was created by hand, but I assume that is not too much of a >> problem either. > > I think a zero is no problem. None would be better. :-) Problem is: how would you distinguish 'parsed in line 0' from 'not parsed at all' in this case? >> Additionally, any additional attribute there goes off the list of children >> accessible in objectify. > > I don't understand this sentence. :-) I was talking about lxml.objectify that uses Python object attributes to access XML element children (sort of like data binding to an object tree). Every name that is used as a Python attribute of the _Element class shadows XML children that would otherwise be accessible under that name. Check out the objectify docs to see what I mean. >> We could also consider adding an external utility module to provide helpers >> like this that are not really worth poluting the API. Something like >> >> lxml.tools.lineof(element) > > That would be icing on the cake; either way is fine, If you consider such a > tool, I would probably call it "parseInfo" or so, where maybe the filename, > endline, and column info is available too. The filename would be available from documents, I don't know what you mean with "endline" (the last line number?) and the parser column is not available from libxml2 (at least not once the parser has passed the element...) So, what about an 'lxml.docinfo' module then that provides this kind of info helper functions? I was never really happy with the DocInfo class, so it might be a good idea to just move this kind of information to a separate module that people can use if they need it. I'm pretty confident that there is even more that we could provide at that level. And it would help us in keeping the already bigger-than-big-enough API of lxml at least a little smaller. Stefan From nathan at yergler.net Sat Mar 17 01:31:13 2007 From: nathan at yergler.net (Nathan R. Yergler) Date: Fri, 16 Mar 2007 20:31:13 -0400 Subject: [lxml-dev] Overriding whitespace normalization under XSLT Message-ID: I'm not sure this is really the right list for this, but we're using lxml, and I'm hoping that someone will have the requisite expertise to enlighten me. Creative Commons has an XSLT transformation we use for generating license engine output; it's divided into a few templates, and one final template that assembles the pieces. The problem is with respect to the "img" tag in the human readable copy-n-paste output. Here's an excerpt from the transform: http://i.creativecommons.org/l88x62.png http://i.creativecommons.org/l88x31.png Creative Commons
License
The part that's problematic is this line: Creative Commons
License
Note that there is a space between the closing quote of the src attribute on the image tag and the "/>" closing bracket. When we process the transform, we consistently end up with Creative Commons License
(note the space has been removed) I've done some experiments and it seems any amount of whitespace (including carriage returns) is collapsed during processing. This may be valid markup (I'm not certain), but some consumers of our copy-and-paste markup barf when that space doesn't exist. I feel like I've reached the end of my XSLT expertise, so does anyone have any idea a) how to maintain that whitespace or b) whom to ask who might know? Thanks, and thanks for lxml, Nathan ----- Nathan R. Yergler Senior Software Engineer Creative Commons http://wiki.creativecommons.org/User:NathanYergler From stefan_ml at behnel.de Sat Mar 17 06:33:10 2007 From: stefan_ml at behnel.de (Stefan Behnel) Date: Sat, 17 Mar 2007 06:33:10 +0100 Subject: [lxml-dev] Overriding whitespace normalization under XSLT In-Reply-To: References: Message-ID: <45FB7D96.8080908@behnel.de> Hi, CC, hum? We should start writing up a hall of fame of organisations using lxml. :) Nathan R. Yergler wrote: > I'm not sure this is really the right list for this, but we're using > lxml, and I'm hoping that someone will have the requisite expertise to > enlighten me. It looks a bit more like an XSLT question to me. > Creative Commons has an XSLT transformation we use for generating > license engine output; it's divided into a few templates, and one > final template that assembles the pieces. The problem is with respect > to the "img" tag in the human readable copy-n-paste output. You did not say what you are actually generating. XHTML? HTML? I assume it's unindented XHTML from your problem statement. Would generating indented HTML solve it? > The part that's problematic is this line: > > Creative Commons
> License
> > Note that there is a space between the closing quote of the src > attribute on the image tag and the "/>" closing bracket. When we > process the transform, we consistently end up with > > Creative Commons License style="border-width:0" src="..."/>
> > (note the space has been removed) That's perfectly well-formed XHTML. But rumour has it that some browsers can't handle that. It's just not old-style HTML-ish enough. If you feel like it, you can also target UTF-8 as encoding in XSLT, then serialise it to a string and do the replacement by hand ('/>' -> ' />') before sending the result somewhere else. That's a hands-on approach, but if you want to generate backwards compatible XHTML, that's one way to get closer. Stefan From faassen at startifact.com Sat Mar 17 11:19:02 2007 From: faassen at startifact.com (Martijn Faassen) Date: Sat, 17 Mar 2007 11:19:02 +0100 Subject: [lxml-dev] finding the line number of a parsed element In-Reply-To: <45FABCA6.7030700@behnel.de> References: <200703151442.15024.srichter@cosmos.phy.tufts.edu> <45FABCA6.7030700@behnel.de> Message-ID: <45FBC096.8030802@startifact.com> Stefan Behnel wrote: [snip] > I personally prefer "_line" over "line", as this only applies to parsed > elements, not all of them, so this is more of a half-working API. > Additionally, any additional attribute there goes off the list of children > accessible in objectify. I really don't like _line. The underscore in a strong Python convention indicates "implementation details", and code external to a class should *not* be touching attributes which start with an underscore unless it knows it's going to do something evil. Initial underscores are not meant to indicate half-working APIs or something. Accessing _line is not evil, it's just not guaranteed to be correct if you manipulate a parsed tree, or create a tree from scratch. This should simply be documented. (Are we sure it's half-working, anyway? Does libxml2 start counting lines at 0 or at 1? If at 1 then 0 is entirely unambiguous and we may be able to return None instead reliably) Anyway, to conclude, I think 'line' is just fine - I believe that's a complete API, if only not a great one if we can't distinguish between line 0 and "no line known". Regards, Martijn From faassen at startifact.com Sat Mar 17 11:24:29 2007 From: faassen at startifact.com (Martijn Faassen) Date: Sat, 17 Mar 2007 11:24:29 +0100 Subject: [lxml-dev] finding the line number of a parsed element In-Reply-To: <45FAF009.3020709@behnel.de> References: <200703151442.15024.srichter@cosmos.phy.tufts.edu> <45FABCA6.7030700@behnel.de> <200703161508.41811.srichter@cosmos.phy.tufts.edu> <45FAF009.3020709@behnel.de> Message-ID: Stefan Behnel wrote: [snip] >>> We could also consider adding an external utility module to provide helpers >>> like this that are not really worth poluting the API. Something like >>> >>> lxml.tools.lineof(element) >> That would be icing on the cake; either way is fine, If you consider such a >> tool, I would probably call it "parseInfo" or so, where maybe the filename, >> endline, and column info is available too. > > The filename would be available from documents, I don't know what you mean > with "endline" (the last line number?) and the parser column is not available > from libxml2 (at least not once the parser has passed the element...) > > So, what about an 'lxml.docinfo' module then that provides this kind of info > helper functions? I was never really happy with the DocInfo class, so it might > be a good idea to just move this kind of information to a separate module that > people can use if they need it. > > I'm pretty confident that there is even more that we could provide at that > level. And it would help us in keeping the already bigger-than-big-enough API > of lxml at least a little smaller. I really think this is overkill. I think an attribute 'line' is fine. lxml has an explicit mission to take ElementTree and expand its API with more functionality. We do this with namespaces, we do this with xpath, and why wouldn't we do this with line numbers? I don't understand how line numbers are different. By the way, even if 0 is both used for line 0 and elements that have an unknown line number, it seems actually possible to distinguish between the two! What would be required if 'line 0' is found is to go backwards in document order, until a textnode is found that contains a newline. If so, the answer is None. If not (and this can be done quickly), the answer is 0. Oh, possibly even more efficient would be to look for *another* node. If this node contains a line number that's non-0, you know you can return None. That would make the 'line' API pretty reliable. Regards, Martijn From nathan at yergler.net Sat Mar 17 13:01:07 2007 From: nathan at yergler.net (Nathan R. Yergler) Date: Sat, 17 Mar 2007 08:01:07 -0400 Subject: [lxml-dev] Overriding whitespace normalization under XSLT In-Reply-To: <45FB7D96.8080908@behnel.de> References: <45FB7D96.8080908@behnel.de> Message-ID: On 3/17/07, Stefan Behnel wrote: > Hi, > > CC, hum? We should start writing up a hall of fame of organisations using lxml. :) > > > Nathan R. Yergler wrote: > > I'm not sure this is really the right list for this, but we're using > > lxml, and I'm hoping that someone will have the requisite expertise to > > enlighten me. > > It looks a bit more like an XSLT question to me. > It absolutely is; I just wasn't finding anything in the spec to guide me, and hoped someone on here had more experience with it than I. > > > Creative Commons has an XSLT transformation we use for generating > > license engine output; it's divided into a few templates, and one > > final template that assembles the pieces. The problem is with respect > > to the "img" tag in the human readable copy-n-paste output. > > You did not say what you are actually generating. XHTML? HTML? I assume it's > unindented XHTML from your problem statement. Would generating indented HTML > solve it? > > > We're actually generating it with method="xml", indent="yes"; the XSLT that handles this generates a chunk of XML, one element of which is the copy-and-paste HTML that the user sees when they choose a license. > > > The part that's problematic is this line: > > > > Creative Commons
> > License
> > > > Note that there is a space between the closing quote of the src > > attribute on the image tag and the "/>" closing bracket. When we > > process the transform, we consistently end up with > > > > Creative Commons License > style="border-width:0" src="..."/>
> > > > (note the space has been removed) > > That's perfectly well-formed XHTML. But rumour has it that some browsers can't > handle that. It's just not old-style HTML-ish enough. > > If you feel like it, you can also target UTF-8 as encoding in XSLT, then > serialise it to a string and do the replacement by hand ('/>' -> ' />') before > sending the result somewhere else. That's a hands-on approach, but if you want > to generate backwards compatible XHTML, that's one way to get closer. > Thanks; I had sort of stopped myself from thinking about how to do it that way, hoping there was just a setting to tweak or attribute to set to bend it to my will. But I may be forced down that road... > Stefan > From faassen at startifact.com Sat Mar 17 11:19:02 2007 From: faassen at startifact.com (Martijn Faassen) Date: Sat, 17 Mar 2007 11:19:02 +0100 Subject: [lxml-dev] finding the line number of a parsed element In-Reply-To: <45FABCA6.7030700@behnel.de> References: <200703151442.15024.srichter@cosmos.phy.tufts.edu> <45FABCA6.7030700@behnel.de> Message-ID: <45FBC096.8030802@startifact.com> Stefan Behnel wrote: [snip] > I personally prefer "_line" over "line", as this only applies to parsed > elements, not all of them, so this is more of a half-working API. > Additionally, any additional attribute there goes off the list of children > accessible in