zlib-1.2.5.win32.zip top level dir is not the expected zlib-1.2.5.win32 but instead zlib-1.2.5 making buildlibxml.py fail on Windows

Bug #1224394 reported by Philippe Ombredanne
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxml
Fix Released
Medium
Unassigned

Bug Description

ftp://ftp.zlatkovic.com/pub/libxml/zlib-1.2.5.win32.zip top level dir is zlib-1.2.5 making buildlibxml.py fail when attempting to build or install lxml from the source dist on windows It should be the expected: zlib-1.2.5.win32

Note that FWIW, I know there are prebuilt bdists, but I need to control exactly the lxml build from sdist at least. And I have VC++ setup alright (as well as mingw if needed)

(lxml) c:\tmp\lxml>pip install lxml
Downloading/unpacking lxml
  Downloading lxml-3.2.3.tar.gz (3.3MB): 3.3MB downloaded
  Running setup.py egg_info for package lxml
    Building lxml version 3.2.3.
    Retrieving "ftp://ftp.zlatkovic.com/pub/libxml/libxslt-1.1.26.win32.zip" to "libs\libxslt-1.1.26.win32.zip"
    Unpacking libxslt-1.1.26.win32.zip into libs
    Retrieving "ftp://ftp.zlatkovic.com/pub/libxml/iconv-1.9.2.win32.zip" to "libs\iconv-1.9.2.win32.zip"
    Unpacking iconv-1.9.2.win32.zip into libs
    Retrieving "ftp://ftp.zlatkovic.com/pub/libxml/zlib-1.2.5.win32.zip" to "libs\zlib-1.2.5.win32.zip"
    Unpacking zlib-1.2.5.win32.zip into libs
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "c:\tmp\lxml\build\lxml\setup.py", line 218, in <module>
        **setup_extra_options()
      File "c:\tmp\lxml\build\lxml\setup.py", line 130, in setup_extra_options
        STATIC_CFLAGS, STATIC_BINARIES)
      File "setupinfo.py", line 48, in ext_modules
        OPTION_DOWNLOAD_DIR, static_include_dirs, static_library_dirs)
      File "buildlibxml.py", line 67, in get_prebuilt_libxml2xslt
        libs = download_and_extract_zlatkovic_binaries(download_dir)
      File "buildlibxml.py", line 47, in download_and_extract_zlatkovic_binaries
        d = unpack_zipfile(destfile, destdir)
      File "buildlibxml.py", line 62, in unpack_zipfile
        assert os.path.exists(edir), 'missing: %s' % edir
    AssertionError: missing: libs\zlib-1.2.5.win32
    Complete output from command python setup.py egg_info:
    Building lxml version 3.2.3.

Retrieving "ftp://ftp.zlatkovic.com/pub/libxml/libxslt-1.1.26.win32.zip" to "libs\libxslt-1.1.26.win32.zip"
Unpacking libxslt-1.1.26.win32.zip into libs
Retrieving "ftp://ftp.zlatkovic.com/pub/libxml/iconv-1.9.2.win32.zip" to "libs\iconv-1.9.2.win32.zip"
Unpacking iconv-1.9.2.win32.zip into libs
Retrieving "ftp://ftp.zlatkovic.com/pub/libxml/zlib-1.2.5.win32.zip" to "libs\zlib-1.2.5.win32.zip"
Unpacking zlib-1.2.5.win32.zip into libs

Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "c:\tmp\lxml\build\lxml\setup.py", line 218, in <module>
    **setup_extra_options()
  File "c:\tmp\lxml\build\lxml\setup.py", line 130, in setup_extra_options
    STATIC_CFLAGS, STATIC_BINARIES)
  File "setupinfo.py", line 48, in ext_modules
    OPTION_DOWNLOAD_DIR, static_include_dirs, static_library_dirs)
  File "buildlibxml.py", line 67, in get_prebuilt_libxml2xslt
    libs = download_and_extract_zlatkovic_binaries(download_dir)
  File "buildlibxml.py", line 47, in download_and_extract_zlatkovic_binaries
    d = unpack_zipfile(destfile, destdir)
  File "buildlibxml.py", line 62, in unpack_zipfile
    assert os.path.exists(edir), 'missing: %s' % edir
AssertionError: missing: libs\zlib-1.2.5.win32

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in c:\tmp\lxml\build\lxml
Storing complete log in C:\Users\pombredanne\pip\pip.log

Revision history for this message
scoder (scoder) wrote :

I'd be happy about a pull request that fixes it without breaking the existing 'normal' case.

Revision history for this message
scoder (scoder) wrote :

This is fixed in lxml 3.3.

Changed in lxml:
importance: Undecided → Medium
milestone: none → 3.3
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.