#1981 closed task (fixed)

build binary eggs for Windows x86 (64-bit)

Reported by: daira Owned by: daira
Priority: normal Milestone: 1.10.1
Component: packaging Version: 1.10.0
Keywords: windows win64 eggs packaging Cc:
Launchpad Bug:

Description (last modified by daira)

This is one of a collection of tickets about binary eggs that need to be built for specific platforms.

See src/allmydata/_auto_deps.py for Tahoe-LAFS trunk's current dependencies, and https://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-eggs/README.html for the eggs that have been built and uploaded.

Change History (16)

comment:1 Changed at 2013-05-25T02:08:17Z by daira

64-bit Windows is currently missing Twisted >= 11.0 and pycrypto >= 2.4.1 eggs for Python 2.6. On the other hand, we recommend using Python 2.7.x on Windows.

comment:2 Changed at 2013-05-25T02:29:16Z by daira

  • Description modified (diff)

comment:3 Changed at 2013-09-02T20:16:21Z by daira

A pyOpenSSL 0.13 egg is a particular priority because of #2005.

comment:4 Changed at 2014-09-07T17:14:35Z by daira

  • Keywords openitp-packaging added

comment:5 Changed at 2014-09-25T15:56:40Z by daira

  • Milestone changed from soon to 1.11.0

comment:6 Changed at 2014-10-08T12:13:10Z by daira

We need a pyOpenSSL 0.13.1 egg for 64-bit Windows before the 1.11 release.

We also need a Twisted 12.2.0 egg, because the existing 12.3.0 egg is incompatible with our current _auto_deps.py. (12.3.0 depends on pywin32; see #2028.)

comment:7 Changed at 2014-10-27T17:36:42Z by daira

The "Microsoft Visual C++ 2008 Express with SP1" compiler needed to compile extension modules for Python 2.7, is available from https://go.microsoft.com/?linkid=7729279 (linked from this Stack Overflow answer). More recent versions are not compatible.

After installing this, run Microsoft Update.

comment:8 Changed at 2015-01-08T22:14:09Z by daira

Current notes on how to build OpenSSL:

  • Install 64-bit Windows 7. (I used Windows 7 Ultimate in a VirtualBox? under Linux.)
  • Fix security settings, download Chrome, apply Windows updates.
  • Install Microsoft Visual Studio Express 2008 SP1.
  • Apply Microsoft updates. (Requires setting the update site to use compatibility mode in IE.)
  • add C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 to the PATH, *after* all entries starting C:\Program Files (x86)\Microsoft Visual Studio 9.0 (*yes I know*).
  • run these commands:
    perl Configure VC-WIN64A --prefix=C:\Build-OpenSSL-VC-64
    ms\do_win64a
    
    edit ms\nt.mak and make this change:
    
    MKLIB=lib /machine:x64 /nologo
    
    nmake -f ms\nt.mak
    
Version 0, edited at 2015-01-08T22:14:09Z by daira (next)

comment:9 Changed at 2015-01-20T17:35:05Z by warner

  • Keywords openitp-packaging removed

This is no longer part of the openitp grant, but we still need eggs to enable the 'quickstart' instructions to work on windows.

comment:10 Changed at 2015-01-20T17:35:58Z by warner

  • Keywords packaging added

comment:11 Changed at 2015-01-20T18:01:25Z by warner

  • Owner set to daira

comment:12 Changed at 2015-01-20T18:01:49Z by daira

  • Status changed from new to assigned

comment:13 Changed at 2015-02-17T16:40:21Z by daira

For this platform, we still need:

  • Twisted 12.1.0 (done)
  • pyOpenSSL 0.13.1 with OpenSSL 1.0.1m (done)
Last edited at 2015-05-01T16:57:21Z by daira (previous) (diff)

comment:14 Changed at 2015-05-01T18:03:47Z by daira

  • Resolution set to fixed
  • Status changed from assigned to closed

Works for me, in a clean checkout, with no compilation.

The instructions for building OpenSSL and pyOpenSSL are at docs/build/build-pyOpenSSL.rst.

comment:15 Changed at 2015-05-02T21:54:24Z by daira

  • Resolution fixed deleted
  • Status changed from closed to reopened

I now need to build a Twisted >= 13.0.0 (probably 15.1.0) egg, in order for the #2416 branch to work on 64-bit Windows systems without a compiler.

comment:16 Changed at 2015-05-13T12:02:37Z by daira

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.