Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#21820 closed defect (fixed)

py26-lxml breaks on build on snow leopard without py25-lxml installed

Reported by: bumens@… Owned by: dbraband@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: build break snowleopard distutils263 Cc: akitada@…
Port: py26-lxml

Description

Using OSX 10.6.1 and MacPorts 1.8.1, I'd try to install py26-lxml. Build broke with an error. After installing py25-lxml, it was possible to install py26-lxml without any errors.

--->  Building py26-lxml
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.26
Building against libxml2/libxslt in the following directory: /opt/local/lib
running build
running build_py
creating build
creating build/lib.macosx-10.6-i386-2.6
creating build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/__init__.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/_elementpath.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/builder.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/cssselect.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/doctestcompare.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/ElementInclude.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/sax.py -> build/lib.macosx-10.6-i386-2.6/lxml
copying src/lxml/usedoctest.py -> build/lib.macosx-10.6-i386-2.6/lxml
creating build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/__init__.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/_dictmixin.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/builder.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/clean.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/defs.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/diff.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/formfill.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/html5parser.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/soupparser.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.6-i386-2.6/lxml/html
running build_ext
Traceback (most recent call last):
  File "setup.py", line 116, in <module>
    **extra_options
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 987, in run_commands
    self.run_command(cmd)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 1007, in run_command
    cmd_obj.run()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/command/build.py", line 134, in run
    self.run_command(cmd_name)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 1007, in run_command
    cmd_obj.run()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools/command/build_ext.py", line 46, in run
    _build_ext.run(self)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/Pyrex/Distutils/build_ext.py", line 82, in build_extensions
    self.build_extension(ext)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools/command/build_ext.py", line 175, in build_extension
    _build_ext.build_extension(self,ext)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/command/build_ext.py", line 460, in build_extension
    ext_path = self.get_ext_fullpath(ext.name)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/command/build_ext.py", line 633, in get_ext_fullpath
    filename = self.get_ext_filename(modpath[-1])
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools/command/build_ext.py", line 85, in get_ext_filename
    ext = self.ext_map[fullname]
KeyError: 'etree'

Change History (5)

comment:1 Changed 15 years ago by raimue (Rainer Müller)

Cc: akitada@… added
Keywords: snowleopard added; snow leopard removed
Owner: changed from macports-tickets@… to dbraband@…

comment:2 Changed 15 years ago by bumens@…

BTW: I changed another thing: I installed cython using easy_install in between. Another try to build py26-lxml failed with the same error. But after installing py25-lxml, the build for py26-lxml worked without any errors.

comment:3 Changed 15 years ago by stromnov (Andrey Stromnov)

It's a problem with updated distutils module in Python 2.6.3. It's backward incompatible with current setuptools module when building C extensions via 'build_ext' target. As a workaround you can try Distribute module (http://tarekziade.wordpress.com/2009/10/03/python-2-6-3-and-distribute/).

comment:4 Changed 15 years ago by blb@…

Resolution: fixed
Status: newclosed

Should be fixed in r58754 by requiring py26-cython (build failed the same here without it, went fine with it).

comment:5 Changed 15 years ago by blb@…

Keywords: distutils263 added; py26 lxml removed

Better fix in r58886 to fix setuptools, so removed cython dependency for lxml in r58891.

Note: See TracTickets for help on using tickets.