[Python-Dev] Build Notes for building trunk with Visual Studio 2008 Express Edition (original) (raw)
Chris Mellon arkanes at gmail.com
Mon Nov 26 17:21:53 CET 2007
- Previous message: [Python-Dev] Build Notes for building trunk with Visual Studio 2008 Express Edition
- Next message: [Python-Dev] Build Notes for building trunk with Visual Studio 2008 Express Edition
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Nov 23, 2007 8:53 AM, Paul Moore <p.f.moore at gmail.com> wrote:
I have just built the current trunk version of Python on Windows, using the new PCBuild9 directory, and Visual Studio 2008 Express Edition.
Everything went extremely well. I include below my notes on what I did, for reference. To be honest, there's nothing in here that really warrants a change to the readme.txt - to all intents and purposes, the process "just works". OK, here are my notes: Install Visual C++ 2008 Express Edition. Only select Silverlight from the options (no documentation or SQL Server - Silverlight probably isn't actually needed either). I already had the Platform SDK installed, but did nothing to tell VS about it, or to integrate it. I doubt this is relevant. I am using Python trunk at revision 59132. (But I hit an issue fixed in 59136, so better to use that). Start VC. Open project PCBuild9\pcbuild.sln Message "Solution Folders are not supported in this version of Visual Studio. Solution folder 'Solution Items' will be displayed as unavailable." Select OK. Select the release build (Build > Configuration Manager) Right click pythoncore > Build makebuildinfo - succeeded 1 warning (unlink vs unlink) makeversioninfo - succeeded pythoncore - I hit an error in ast.c so I needed to svn up (to 59136). Succeeded. Right click python > Build. Succeeded. Right click pythonw > Build. Succeeded. Right click socket > Build. Succeeded. Right click testcapi > Build. Succeeded. Right click pyexpat > Build. Succeeded. Right click select > Build. Succeeded. Right click unicodedata > Build. Succeeded. Right click winsound > Build. Succeeded. At this point, we have finished the modules documented as "build out of the box" in PCBuild9\readme.txt. The modules tkinter, bz2, bsddb, sqlite3, ssl are documented as having dependencies. See below. Modules ctypes, ctypestest, elementtree, msi, w9xpopen are not mentioned in readme.txt. They all build without error. bz2 --- The include dir is a macro, and I can't work out how to override the default (which is bzip2-1.0.3). So I stuck to 1.0.3 and exported it from Python svn, as per the instructions. Built OK. sqlite3 -------- Again, couldn't work out how to change the macro, so I stuck with the external from svn (sqlite-source-3.3.4). The pre-link step failed with an error about not finding TCL. I edited the prelink step to include a /DNOTCL flag on the cl command. There may be a better approach - I don't know if not having TCL is an issue for Python's use of sqlite. tkinter and bsddb ------------------- The instructions suggest using VS 2003 to build the dependencies. I don't have VS 2003 and don't have the time at the moment to investigate further. ssl ---- Christian has been making changes to allow this to build without Perl, so I gave it a try. I used openssl 0.9.8g, which I extracted to the build directory (I noticed afterwards that this is the same version as in Python svn, so I could have used the svn external!) I needed to download nasm (nasm.sf.net) version 2.00rc1, and rename nasm.exe to nasmw.exe and put it on my PATH. Build succeeded, no issues. Tests ----- Running the tests, all succeed except testtcl and testbsddb, which are because I didn't build those two extensions, and testos. The testos failure is just because it looks for C:\pagefile.sys and my pagefile is on D:. (There's also a problem with testsocketssl hanging, but this is present in the standard 2.6 snapshot build. I've raised a separate bug report for this).
I was able to build both 2.6 and py3k (trunk checkouts, revision 59136 and 59130 respectively) out of the box, except for openssl and tcl, which I didn't try to install. The external libraries I placed as sibling directories to the python source root dir, just as with the previous PCBuild instructions. I didn't need to build in any specific order, "Build solution" correctly resolved dependencies. I got the alert box about solution folders but it didn't harm anything.
If anyone is curious, I ran pybench for both 2.6 and 3k build against VS 2003 and VS 2008. This is using the out of the box settings, and no PGO for 2008 (Express version doesn't have it). MSVC 9 was slightly faster for 2.6, but somewhat slower for py3k. I'm not sure how relevant that is, but (surprisingly to me) it's not an automatic speed win over MSVC 7.1. The results of my pybench runs available here:
http://code.google.com/p/wxpsvg/wiki/PyBenchRuns
- Previous message: [Python-Dev] Build Notes for building trunk with Visual Studio 2008 Express Edition
- Next message: [Python-Dev] Build Notes for building trunk with Visual Studio 2008 Express Edition
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]