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.

classification
Title: please support the free visual studio sdk compiler
Type: enhancement Stage:
Components: Distutils Versions:
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: davidmcnab, josiahcarlson, kylotan, loewis
Priority: normal Keywords:

Created on 2005-11-04 23:58 by davidmcnab, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (7)
msg54647 - (view) Author: David McNab (davidmcnab) Date: 2005-11-04 23:58
Hi,

I noticed, with some pain, that while pythons 2.1 to
2.3 are built with msvc6, and allow for easy
compilation of extensions.

However, the official binary distro of python2.4 for
windows is built with ms vs .net 2003 (version 7.1).

I've tried using the .net framework sdk compiler:
(http://www.microsoft.com/downloads/details.aspx?FamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=en)
also the Visual C++ Toolkit:
(http://www.microsoft.com/downloads/details.aspx?FamilyID=272be09d-40bb-49fd-9cb0-4bfa122fa91b&DisplayLang=en)
but in both cases, distutils complains that it can't
find a suitable compiler ("error: Python was built with
version 7.1 of visual studio...").

I did some hacking on distutils/msvccompiler.py, and
noticed that this module is searching for certain
registry keys that are only written by the non-free
Visual Studio .NET 2003 compiler.

As it is, this situation imposes on developers a
deterrent against upgrading to python 2.4. There are
millions of msvc6 installations out there, but for
many, the cost of upgrading to msvs .net 2003 is
prohibitive.

I have considered building python2.4 from source using
msvc6 (I notice the project/workspace files are present
in the source), but feel this is unwise because I could
end up building extension modules that are
binary-incompatible with everyone else's python2.4

I (and countless others, I'm sure) would really
appreciate it if the python devs could rework things to
make it possible to build python2.4 extensions using
the free ms compilers mentioned above).

Cheers
david
msg54648 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2005-11-07 23:26
Logged In: YES 
user_id=21627

I don't understand your remark " and allow for easy
compilation of extensions". Don't you need a copy of VC6 for
that? I don't understand how this is inherently different
from VC.NET 2003... only that Microsoft don't longer offers
VC6 for sale.
Many people only have VC.NET available, but no copy of VC6.

Anyway, would you like to contribute patches to make this work?
msg54649 - (view) Author: David McNab (davidmcnab) Date: 2005-11-08 03:00
Logged In: YES 
user_id=35522

Thank you for your reply.

In desperation, I started downloading an evaluation version
of msvs.net 2003 from bittorrent.

But before the download was even halfway complete, I had
already installed mingw on my winbox and sorted out the
intricacies of compiling 3rd party libs, and building
working python extensions, using only mingw.

As a result, I am now free of the shackles of proprietary MS
toolchains, and am comfortable with mingw - especially since
most of the multiplatform 3rd party libs I've seen offer
good build support for MinGW. All my extensions, and others'
extensions I'm using, are now building quite happily with MinGW.

From this perspective, I no longer have interest in being
able to build extensions with MS tools - freeware MSVC
compilers or otherwise. In fact, depending on a proprietary
toolchain to build Free/Opensource software now feels
ludicrous. Therefore, I'd be perfectly comfortable if you
want to close this support ticket.

Cheers
David
msg54650 - (view) Author: Josiah Carlson (josiahcarlson) * (Python triager) Date: 2005-11-08 06:21
Logged In: YES 
user_id=341410

I'm not sure this request should be closed.  One of the
reasons that Python 2.4 compilation was switched to the 7.1
compiler was that it was supposed to be possible to compile
Python and extension modules with the free .net compiler. 
If users cannot compile with the free .net compiler right
now, then it seems that there is a bit of a problem.
msg54651 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2005-11-08 08:03
Logged In: YES 
user_id=21627

I disagree that one of the reasons to use VC 7.1 was that a
free Microsoft compiler was available - it was never one of
the reasons why I considered switching. Instead, the reasons
were:
- MS no longer ships VC6, so many users only had VC7.1 and
where requesting that this was used,
- VC 7.1 solves a few problems, most notably, IPv6 support
can be built with that compiler, but not with VC6, and
people where requesting IPv6 support on Windows.

So I agree that this request should be closed; I personally
have no plans to work on it for the next few years.
msg54652 - (view) Author: B Sizer (kylotan) Date: 2005-11-08 10:07
Logged In: YES 
user_id=206950

I was under the impression that it was possible to build
Python extensions using the free MS tools. Several people in
comp.lang.python have said as much. The original poster of
this bug may wish to check
http://www.vrplumber.com/programming/mstoolkit/ for further
details.

However, if it is now not the case, it is imperative that
someone addresses this. There is little point having a free
language if it requires a non-free compiler (in either sense
of the word) to build the extensions.
msg54653 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2005-11-08 18:51
Logged In: YES 
user_id=21627

As the OP points out, you can use a free compiler (mingw).

I'm closing this report: if somebody with an actual, current
need has the wish that Python is changed in some precise and
verifiable way, please submit a new report. There is no
point in guessing what does and doesn't work.

People who are experimenting with this are encouraged to
propose patches, of course.
History
Date User Action Args
2022-04-11 14:56:13adminsetgithub: 42553
2005-11-04 23:58:01davidmcnabcreate