Which compiler will Python 2.5 / Windows (Intel) be built with?

M

meyer

Hi everyone,

which compiler will Python 2.5 on Windows (Intel) be built with? I
notice that Python 2.4 apparently has been built with the VS2003
toolkit compiler, and I read a post from Scott David Daniels [1] where
he said that probably the VS2003 toolkit will be used for Python 2.5
again. However, even before the release of Python 2.5, I cannot seem to
find many retailers around here that still carry Visual Studio 2003,
and some were a bit surprised about my request since Visual Studio 2005
has been available for some months now. Even more importantly, there
does not seem to be an official way to still get the 2003 toolkit from
Microsoft. The site where it used to be available [2] now redirects you
to the 2005 toolkit. The 2003 toolkit also seems to have disappeared
from the browseable downloads on the Microsoft page. Searching for
VCToolkitSetup.exe on the net, I found a few pages that still appear to
carry the file, but most are down or just redirect to a broken link on
the Microsoft site. That means that if Python 2.5 will be based on the
2003 toolkit compiler, it will be increasingly difficult to get a
compiler for extensions.

Since we have some Python extensions here that use MFC internally (MFC
is only available in the retail version of Visual Studio .NET), we need
to know in which compiler we have to invest to keep our extensions
compatible with Python 2.5. Furthermore, since we also have legacy C++
applications that link to the same libraries that are also used in the
Python extensions, we would be disappointed when we now had to switch
to Visual Studio 2003 just to be compatible with Python 2.5, loosing
official support from Microsoft in near future, and having to use an
outdated compiler throughout the lifetime of Python 2.5.

Thanks in advance for your comments!
Markus Meyer

[1] Google Groups: Python 2.5 Schedule (18 messages)
http://groups.google.ca/group/comp....hread/2f8be89236999a37/f6f95174484c24cc?hl=en

[2] Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/
 
S

Scott David Daniels

Hi everyone,

which compiler will Python 2.5 on Windows (Intel) be built with?

Same as for Python 2.4 (the decision was taken a while ago).
Intel sells a compatible compiler, I believe.
 
J

Jarek Zgoda

Scott David Daniels napisa³(a):
Same as for Python 2.4 (the decision was taken a while ago).
Intel sells a compatible compiler, I believe.

Sounds rather bad.

Anyway, there should be some kits available from second-hand at auction
websites. Besides no free (as in "free beer") toolkit will be available,
as noone except Microsoft can distribute it.
 
N

nikie

Hi everyone,

which compiler will Python 2.5 on Windows (Intel) be built with? I
notice that Python 2.4 apparently has been built with the VS2003
toolkit compiler, and I read a post from Scott David Daniels [1] where
he said that probably the VS2003 toolkit will be used for Python 2.5
again. However, even before the release of Python 2.5, I cannot seem to
find many retailers around here that still carry Visual Studio 2003,
and some were a bit surprised about my request since Visual Studio 2005
has been available for some months now. ...

If you want to *buy* VS 2003, you could still purchase a 1-year MSDN
Pro Subscription. The price difference isn't *that* big compared to a
single-user license of VS, and it automatically includes past VS
versions (everything from VC++ 6.0 and upwards, IIRC).
 
J

Jarek Zgoda

nikie napisa³(a):
If you want to *buy* VS 2003, you could still purchase a 1-year MSDN
Pro Subscription. The price difference isn't *that* big compared to a
single-user license of VS, and it automatically includes past VS
versions (everything from VC++ 6.0 and upwards, IIRC).

This doesn't make building Python exension libraries any easier.

In some cases, you can still build Python extension with MinGW. I didn't
try this with anything more complicated than linking to libxml2, but
still, it's some workaround. Not sure about the performace of such
build, though.
 
S

Steve Holden

Hi everyone,

which compiler will Python 2.5 on Windows (Intel) be built with?

The default build will be the VC 2003 compiler as for 2.4, but there
will also be VC 2005 project support files in a PCBuild8 subdirectory,
if current efforts by CCP succeed. I am certainly compiling the 2.5
trunk with VC 2005 (VC++ 8.0, IIRC).

It would be great if Tim Peters got more support for his efforts in that
area, so it's good to see people besides Tim, Mark Hammond and Martin
von Loewis doing significant work on that platform.

Eventually someone may contribute (say) mingw support, but I'm not aware
that anyone has yet stood up for the challenge of getting that into the
distributions (and anyway I suspect that VC 200X will remain the default).

regards
Steve
 
M

meyer

Scott,
Same as for Python 2.4 (the decision was taken a while ago).
Intel sells a compatible compiler, I believe.

the problem is not the ABI, but the runtime libraries. From what you're
saying, it looks like we will have to standardize on VS2003. As I said,
we need to buy VS anyway because of the MFC support. On the other hand,
I really worry about all those people that want to build open source
extensions for Python 2.5. It is really possible that there will be no
legal, free way to do that soon if you don't have an old installation
of the 2003 toolkit lying around somewhere... So I'd like to ask you:
why was the decision taken a while ago (and is not subject to
reconsideration) and what are the reasons for using VS2003? I mean
there must be a real good reason why you're doing this, as I only see
disadvantages in it.


Markus
 
M

Mr Roboto

Jarek said:
nikie napisa³(a):


This doesn't make building Python exension libraries any easier.

In some cases, you can still build Python extension with MinGW. I didn't
try this with anything more complicated than linking to libxml2, but
still, it's some workaround. Not sure about the performace of such
build, though.

I haven't personally tried a Python compile w/ this, but I'll
share it in hopes that it'll help: one can download a free copy
of Visual C++ 2K5 *Express* from microsoft itself. If you're
interested, try:

http://msdn.microsoft.com/vstudio/express/visualc/default.aspx

It's legal, free (no registration, no BS.) HTH....MR
 
M

meyer

Mr said:
I haven't personally tried a Python compile w/ this, but I'll
share it in hopes that it'll help: one can download a free copy
of Visual C++ 2K5 *Express* from microsoft itself. If you're
interested, try:

The problem is, when you compile an extension module with VS (Express)
2005 and try to load it in a VS2003-compiled Python (which apparently
2.5 will be), there will be errors. So you have to recompile Python
itself with VS2005. This in turn will make it incompatible with any
binary open-source extension out there. E.g., if you use wxPython, you
will then have to recompile that also etc. pp. Also, since there is no
"official" support for the build with VS 2005, it is not clear, if the
differences in the compiler will introduce subtile bugs, say in memory
handling and the like. All in all, this situation feels not good to
me...


Markus
 
F

Fredrik Lundh

the problem is not the ABI, but the runtime libraries. From what you're
saying, it looks like we will have to standardize on VS2003. As I said,
we need to buy VS anyway because of the MFC support. On the other hand,
I really worry about all those people that want to build open source
extensions for Python 2.5. It is really possible that there will be no
legal, free way to do that soon if you don't have an old installation
of the 2003 toolkit lying around somewhere... So I'd like to ask you:
why was the decision taken a while ago (and is not subject to
reconsideration) and what are the reasons for using VS2003? I mean
there must be a real good reason why you're doing this, as I only see
disadvantages in it.

hint: most people who provide third-party extensions to Python support
more than just the latest Python version...

</F>
 
J

Jarek Zgoda

Fredrik Lundh napisa³(a):
hint: most people who provide third-party extensions to Python support
more than just the latest Python version...

We're happy with your support for us, Windows users, but you are an
exception to the general rule of providing only sources.

That's the reason we are fragile on compiler. If the core will be buid
with "non-generally-available" compiler, we would end up with searching
for person willing to compile a library for us, if the MinGW way won't
succeed. I'd like to see core compiled with latest available "free"
toolkit compiler available, as previous versions can not be downloaded
from provider's home.
 
S

Scott David Daniels

... So I'd like to ask you:
why was the decision taken a while ago (and is not subject to
reconsideration) and what are the reasons for using VS2003? I mean
there must be a real good reason why you're doing this, as I only see
disadvantages in it.

The disruption in Python 2.4 in switching from one compiler (VC6) to
another VS2003 was not insubstantial. By sticking with VS2003, sometime
users can at least use the same tool for Python 2.4 and Python 2.5. It
does seem inevitable we will have to switch for 2.6. We are very far
along in the process of releasing Python 2.5 (beta1 is due out soon),
and rebuilding and testing with a new translation system is too big a
change at this point.

Note there was strong resistance to leaving VC6 for Python 2.4. That
resistance was overcome only by the fact that it was no longer possible
to purchase suitable versions of VC6.

--Scott David Daniels
(e-mail address removed)
 
C

Chris Lambacher

Fredrik Lundh napisa?(a):


We're happy with your support for us, Windows users, but you are an
exception to the general rule of providing only sources.

That's the reason we are fragile on compiler. If the core will be buid
with "non-generally-available" compiler, we would end up with searching
for person willing to compile a library for us, if the MinGW way won't
succeed. I'd like to see core compiled with latest available "free"
toolkit compiler available, as previous versions can not be downloaded
from provider's home.
There is only one extension that I have ever found that I could not build with
MingW. That one was the win32all extensions. The free (beer) compiler that
Microsoft provides did not work for that either since you MFC.

There should be no problem building extensions with MinGW unless you are
writing an extension to an extension that was written in C++ and distributed
only in object form(ie no source), or the extension makes use of the c
runtime (fopen, printf etc).

That said it would be nice if the barrier to entry on compiling Python windows
was reduced by making the effort to moving to gcc as the compiler. Given that
this argument has come up several times on both c.l.p and the python-dev list
with no one biting, I would say that it is not likely to happen any time soon.

I also seem to remember a discussion about it being possible to compile python
with VS2005, but you would then be responsible for your own build of python,
plus building any extension modules you need.

-Chris
 
J

Jarek Zgoda

Scott David Daniels napisa³(a):
The disruption in Python 2.4 in switching from one compiler (VC6) to
another VS2003 was not insubstantial. By sticking with VS2003, sometime
users can at least use the same tool for Python 2.4 and Python 2.5. It
does seem inevitable we will have to switch for 2.6. We are very far
along in the process of releasing Python 2.5 (beta1 is due out soon),
and rebuilding and testing with a new translation system is too big a
change at this point.

Note there was strong resistance to leaving VC6 for Python 2.4. That
resistance was overcome only by the fact that it was no longer possible
to purchase suitable versions of VC6.

Fcuk, now it's nearly impossible to buy VC2003 toolkit. What now?
Shouldn't Python dev team switch to current MS compiler?

Sorry, gals and guys, but if you force us to buy something irrelevant
like VC2003, you will not get our sympathy. How should I explain my boss
that we need to buy one Pro license more, just to be able to build our
Python app? Please, don't left us with pants down.
 
F

Fredrik Lundh

Jarek said:
Sorry, gals and guys, but if you force us to buy something irrelevant
like VC2003, you will not get our sympathy. How should I explain my boss
that we need to buy one Pro license more, just to be able to build our
Python app? Please, don't left us with pants down.

huh? 2.5 isn't released yet. if you *have* a Python app, you can
continue to use the same compiler when you upgrade from 2.4 and 2.5.
it's not like anyone is forcing you to uninstall the compiler just
because you upgrade Python...

</F>
 
M

meyer

Hi Scott,

thanks for keeping up the friendly discussion. Comments below.
The disruption in Python 2.4 in switching from one compiler (VC6) to
another VS2003 was not insubstantial. By sticking with VS2003, sometime
users can at least use the same tool for Python 2.4 and Python 2.5. It
does seem inevitable we will have to switch for 2.6. We are very far
along in the process of releasing Python 2.5 (beta1 is due out soon),
and rebuilding and testing with a new translation system is too big a
change at this point.

I understand that you are far in the release cycle and that this change
would maybe even delay the whole release process. Those are good
points. OTOH I think that sometimes it's better to change decisions in
light of new facts. Of course I don't know exactly when this decision
was fixed, but I guess since then Microsoft has created two new facts
that cannot be ignored:

* It wasn't clear that Microsoft would stop distributing the free 2003
toolkit in favor of the 2005 toolkit. I cannot remember that they did
something like this in the past, so this is something that came as a
surprise.

* At least to me it wasn't clear that Microsoft would release a new
version of Visual Studio so early, and that it would link to a new,
incompatible C runtime.

One can like or not like Microsoft politics, but I think in case of
those new and surprising facts a re-evaluation of the decision for
compiling Python with VS2003 might very well be justified.
Note there was strong resistance to leaving VC6 for Python 2.4. That
resistance was overcome only by the fact that it was no longer possible
to purchase suitable versions of VC6.

I'm not sure how that backs the point you made. Infact, you're saying
that people accepted that Python 2.4 was compiled with VS2003 because
VC6 could not longer be bought. How is that different from the current
situation where the VS2003 toolkit cannot longer be downloaded and it
is at least becoming increasingly difficult to buy versions of VS2003?
You also seem to imply that there is a large group of people that want
you to stay with VS2003 for compiling Python 2.5. Of course I have no
actual figures, but at least in this thread it seems to me that every
single person who wrote in this thread until now was pro-2005 and
against-2003.


Markus
 
S

Scott David Daniels

Jarek said:
Sorry, gals and guys, but if you force us to buy something irrelevant
like VC2003, you will not get our sympathy.
Oh, no. And just when our bank account was getting full from your
appreciation of our efforts.

--Scott David Daniels
(e-mail address removed)
 
M

meyer

Hi Fredrik,

first, thanks for PIL, I use it extensively in my daily work ;)

Fredrik said:
huh? 2.5 isn't released yet. if you *have* a Python app, you can
continue to use the same compiler when you upgrade from 2.4 and 2.5.
it's not like anyone is forcing you to uninstall the compiler just
because you upgrade Python...

No, but the compiler that used to be available for compiling 2.4
extensions is no longer available and/or supported. So there is/was
hope that 2.5 might improve the situation because then compiling
extensions would be possible again with the currently available
compiler from Microsoft. This would require that Python 2.5 be built
with this compiler of course. So the situation is actually worse than
before (when the 2003 toolkit was available), and the decision for 2003
means that it won't improve with the release of 2.5. I believe this is
what the gp was trying to say...


Markus
 
J

Jarek Zgoda

Fredrik Lundh napisa³(a):
huh? 2.5 isn't released yet. if you *have* a Python app, you can
continue to use the same compiler when you upgrade from 2.4 and 2.5.
it's not like anyone is forcing you to uninstall the compiler just
because you upgrade Python...

We don't have VC2003. We still use 2.3, as 2.3.3 for a long time was the
latest available version for iSeries. Consider Python to be a part of
"dll-hell".

Why wouldn't Python dev team standarize on one compiler for all
officially supported platforms?
 
F

Fredrik Lundh

I'm not sure how that backs the point you made. Infact, you're saying
that people accepted that Python 2.4 was compiled with VS2003 because
VC6 could not longer be bought. How is that different from the current
situation where the VS2003 toolkit cannot longer be downloaded and it
is at least becoming increasingly difficult to buy versions of VS2003?
You also seem to imply that there is a large group of people that want
you to stay with VS2003 for compiling Python 2.5.

what part of "Python 2.4 is built with VC2003 and everyone who's ever
built Windows stuff for Python 2.4 already has it" do you have trouble
understanding ?

</F>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top