classification
Title: Build Python with VS 2005(MSVC8)
Type: compile error Stage:
Components: Installation Versions: Python 3.0, Python 2.6
process
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 2007-11-15 18:32 by loewis. This issue is now closed.

Files
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 
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.
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.
History
Date User Action Args
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