There are several problems that cause us can't build python with vs
2005.
1. some libraries are outdated.
for example, tcl8.4.12, tk8.4.12. Just download a newer version will
resolve this problem.
wget http://prdownloads.sourceforge.net/tcl/tcl8.4.16-src.tar.gz
wget http://prdownloads.sourceforge.net/tcl/tk8.4.16-src.tar.gz
wget http://prdownloads.sourceforge.net/tix/Tix8.4.2-src.tar.gz
I think it's better to upgrade bdb too, so i select bdb 4.6.21.
http://download.oracle.com/berkeley-db/db-4.6.21.tar.gz
upgrade bzip to 1.0.4
wget http://www.bzip.org/1.0.4/bzip2-1.0.4.tar.gz
upgrade openssl to 0.9.9g
wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz
It's not convenient to build sqlite-3.5.2, so we just download a binary
version from it's official site.
wget http://www.sqlite.org/sqlitedll-3_5_2.zip
wget http://www.sqlite.org/sqlite-source-3_5_2.zip
2. more detail on build these libraries
generally, you can follow the guide in PCbuild/readme.txt. but there
are thing you need to pay attention to .
For Tix8.4.2, we should create a python.mak for it, and make a patch on
makefile.vc. User also need to 'set MSVCDIR=%VCINSTALLDIR%' in cmd
window.
For bdb-4.6.21, I can't upgrade dsw to sln with the command:
devenv db-4.6.21\build_windows\Berkeley_DB.dsw /Upgrade
instead, open dsw in VS 2005 IDE, convert and save it.
to build openssl, as the guide said, we can use build_ssl.py in
PCbuild. but we need to move build_ssl.py, build_ssl.bat and _ssl.mak
to PCbuild8, and make a little modification.
3. make pcbuild.sln work properly.
some options are missed in pcbuild.sln and it's projects. we need to
edit pyproject.vsprops and etc.
I can't make make_versioninfo work at first, and then i found that may
have relationship with SxS(Side by Side, manifest), I run the resource
wizard and did'nt add resource, but the wizard create resource.h
and .rc file, after i build the project, it work correctly.
4. output directory changed
build python25 in x86 with debug mode, the *.lib, *.dll, *.pyd etc will
be placed in win32debug. to make build_ssl.py, I calculate the output
directory add it to LIBPATH.
Finally, I changed the readme.txt in PCbuild8, so you can follow the
newer guide.
I'm rejecting this patch, for several reasons:
- it addresses too many issues in a single patch. Separate bug reports
need to be submitted for independent issues.
- for each issue, it fails to explain what the problem is. For example,
"some libraries are outdated" is not a problem per se, but only would be
a problem if those old libraries don't work with the new compiler; the
actual problem is not reported here.
- it suggests to upgrade libraries; I assume it does so for Python 2.6
and 3.0. However, upgrading libraries should be deferred until before
the release. People building the development versions of Python are
expected to arrange the build environment themselves in a way they like,
using readme.txt only as a guideline.
- the patches to upgrade the libraries are incomplete.