This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Build Python with VS 2005(MSVC8)
Type: compile error Stage:
Components: Installation Versions: Python 3.0, Python 2.6
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: christian.heimes, loewis, weck
Priority: normal Keywords: patch

Created on 2007-11-15 15:08 by weck, last changed 2022-04-11 14:56 by admin. This issue is now closed.

File name Uploaded Description Edit
pcbuild8.patch weck, 2007-11-15 15:08
Messages (3)
msg57531 - (view) Author: zouguangxian (weck) Date: 2007-11-15 15:08
There are several problems that cause us can't build python with vs 

1. some libraries are outdated.

for example, tcl8.4.12, tk8.4.12. Just download a newer version will 
resolve this problem.

I think it's better to upgrade bdb too, so i select bdb 4.6.21.

upgrade bzip to 1.0.4

upgrade openssl to 0.9.9g

It's not convenient to build sqlite-3.5.2, so we just download a binary 
version from it's official site.

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 User also need to 'set MSVCDIR=%VCINSTALLDIR%' in cmd 

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 in 
PCbuild. but we need to move, 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, I calculate the output 
directory add it to LIBPATH.

Finally, I changed the readme.txt in PCbuild8, so you can follow the 
newer guide.
msg57538 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-15 17:09
I'm a bit concerned with the upgrade from DB 4.4. to 4.6 and SQLite from
3.3 to 3.5. Are the APIs backward compatible or can the Python bindings
handle the new APIs? I believe that Python 2.6 is compatible with db4.6
but I'm not sure about SQLite. Have you run the unit tests?
msg57544 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-11-15 18:32
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.
Date User Action Args
2022-04-11 14:56:28adminsetgithub: 45789
2007-11-15 18:32:15loewissetstatus: open -> closed
resolution: rejected
messages: + msg57544
nosy: + loewis
2007-11-15 17:09:43christian.heimessetnosy: + christian.heimes
messages: + msg57538
2007-11-15 15:59:09christian.heimessetpriority: normal
keywords: + patch
components: + Installation
versions: + Python 2.6, Python 3.0, - Python 2.5
2007-11-15 15:08:14weckcreate