[lxml-dev] setuptools issues with python2.6 maint

My apologies for dumping a bad build on the list here, but googling returned absolutely nothing for this one. I haven't had this issue before so it may be related to my usage of the latest python 2.6 mainentance branch which I got from http://svn.python.org/projects/python/branches/release26-maint . It builds fine if I run a straight distutils build without setuptools being installed. Otherwise I get the below - tested against 2.1.5, 2.2, and 2.2.2, any ideas are appreciated. root@stageassets lxml-2.2.2]# /usr/local/bin/python setup.py install Building lxml version 2.2.2. NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. Using build configuration of libxslt 1.1.24 Building against libxml2/libxslt in the following directory: /usr/lib running install running build running build_py running build_ext running install_lib creating /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/sax.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/pyclasslookup.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/ElementInclude.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/etree.so -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/_elementpath.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/__init__.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/usedoctest.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/doctestcompare.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/cssselect.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/builder.py -> /usr/local/lib/python2.6/site-packages/lxml copying build/lib.linux-i686-2.6/lxml/objectify.so -> /usr/local/lib/python2.6/site-packages/lxml creating /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/diff.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/defs.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/_setmixin.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/_diffcommand.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/__init__.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/usedoctest.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/ElementSoup.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/_html5builder.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/builder.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/formfill.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/html5parser.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/soupparser.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/clean.py -> /usr/local/lib/python2.6/site-packages/lxml/html copying build/lib.linux-i686-2.6/lxml/html/_dictmixin.py -> /usr/local/lib/python2.6/site-packages/lxml/html byte-compiling /usr/local/lib/python2.6/site-packages/lxml/sax.py to sax.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/pyclasslookup.py to pyclasslookup.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/ElementInclude.py to ElementInclude.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/_elementpath.py to _elementpath.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/__init__.py to __init__.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/usedoctest.py to usedoctest.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/doctestcompare.py to doctestcompare.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/cssselect.py to cssselect.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/builder.py to builder.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/diff.py to diff.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/defs.py to defs.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/_setmixin.py to _setmixin.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/_diffcommand.py to _diffcommand.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/__init__.py to __init__.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/usedoctest.py to usedoctest.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/ElementSoup.py to ElementSoup.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/_html5builder.py to _html5builder.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/builder.py to builder.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/formfill.py to formfill.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/html5parser.py to html5parser.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/soupparser.py to soupparser.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/clean.py to clean.pyc byte-compiling /usr/local/lib/python2.6/site-packages/lxml/html/_dictmixin.py to _dictmixin.pyc running install_egg_info Writing /usr/local/lib/python2.6/site-packages/lxml-2.2.2-py2.6.egg-info [root@stageassets lxml-2.2.2]# /var/web/hosts/fanfeedr.com/snapscores.com/bin/python setup.py install Building lxml version 2.2.2. NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. Using build configuration of libxslt 1.1.24 Building against libxml2/libxslt in the following directory: /usr/lib running install running bdist_egg running egg_info writing src/lxml.egg-info/PKG-INFO writing top-level names to src/lxml.egg-info/top_level.txt writing dependency_links to src/lxml.egg-info/dependency_links.txt reading manifest file 'src/lxml.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'src/lxml.egg-info/SOURCES.txt' installing library code to build/bdist.linux-i686/egg running install_lib running build_py running build_ext Traceback (most recent call last): File "setup.py", line 116, in <module> **extra_options File "/usr/local/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/local/lib/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/usr/local/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/install.py", line 76, in run File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/install.py", line 96, in do_egg_install File "/usr/local/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/local/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/bdist_egg.py", line 174, in run File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/bdist_egg.py", line 161, in call_command File "/usr/local/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/local/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/install_lib.py", line 20, in run File "/usr/local/lib/python2.6/distutils/command/install_lib.py", line 113, in build self.run_command('build_ext') File "/usr/local/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/local/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/build_ext.py", line 46, in run File "/usr/local/lib/python2.6/distutils/command/build_ext.py", line 340, in run self.build_extensions() File "/usr/local/lib/python2.6/distutils/command/build_ext.py", line 449, in build_extensions self.build_extension(ext) File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/build_ext.py", line 175, in build_extension File "/usr/local/lib/python2.6/distutils/command/build_ext.py", line 460, in build_extension ext_path = self.get_ext_fullpath(ext.name) File "/usr/local/lib/python2.6/distutils/command/build_ext.py", line 633, in get_ext_fullpath filename = self.get_ext_filename(modpath[-1]) File "/var/web/hosts/fanfeedr.com/snapscores.com/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/build_ext.py", line 85, in get_ext_filename KeyError: 'etree'

I would add that I successfully built/installed psycopg2 and PIL with the same Python install, so its not that my distutils/easy_install is "broken" across the board for compiler builds....the issue is specific to lxml.

Michael Bayer wrote:
No idea, never seen this before. I use the same setuptools version under Py2.6.2, and it works perfectly well. Have you tried the bdist_egg target instead of a mere "install"? Also, the way setuptools patches into distutils makes it quite possible that newer Python releases introduce incompatibilities, so maybe there's an issue over there. Stefan

On Aug 10, 2009, at 3:48 PM, Michael Bayer wrote:
just an FYI, so now that 2.6.3 is out, more eyes have been on the problem and the issue is now described here: http://tarekziade.wordpress.com/2009/10/03/python-2-6-3-and-distribute/

I would add that I successfully built/installed psycopg2 and PIL with the same Python install, so its not that my distutils/easy_install is "broken" across the board for compiler builds....the issue is specific to lxml.

Michael Bayer wrote:
No idea, never seen this before. I use the same setuptools version under Py2.6.2, and it works perfectly well. Have you tried the bdist_egg target instead of a mere "install"? Also, the way setuptools patches into distutils makes it quite possible that newer Python releases introduce incompatibilities, so maybe there's an issue over there. Stefan

On Aug 10, 2009, at 3:48 PM, Michael Bayer wrote:
just an FYI, so now that 2.6.3 is out, more eyes have been on the problem and the issue is now described here: http://tarekziade.wordpress.com/2009/10/03/python-2-6-3-and-distribute/
participants (2)
-
Michael Bayer
-
Stefan Behnel