Build complete, now I just need to "install" it...

A

axl

Hi,

I'm going to be adding some features for a python-project with
external modules written in C. However, if I build modules with my
MSVS 2008 compiler (from the Windows SDK), they won't load in Python
2.5.2, which is built with MSVS 2003.

Since I don't have access to MSVS 2003 I need to rebuild Python using
MSVS 2008 in order for the binaries to go along.

For starters, I cloned the PCbuild8 folder and made whatever changes
needed to be able to build the core and executable. I then pulled down
all the various external dependencies and made the same adjustments to
those. After quite a while I've managed to build everything apart from
the PGO config, since it requires a DLL which isn't included in the
SDK. Not to worry, I can live with a less than 100% optimized version
for now.

But, my problem is that the install scripts, i.e. "python setup.py
install" wants to go through the build steps again, but since those
don't work on Windows, or at least not with my setup, I can't put
together a complete package.

The web pages have gotten me this far, but there doesn't seem to be
anything on how to actually pull together the various bits and bobs
into a complete package that I can use in place of my current Python
2.5.2 installation. Apparently someone has done it, since there is an
installer to download, but those parts don't seem to be available
anywhere. And it's unclear if the Windows installer contains exactly
what's in the source package, or if I have to build a bunch of other
modules as well in order to be completely replacing my old
installation.

Actually, I don't need an installer, I just want to know which parts
of my 2.5.2 folder that need to go where.

Grateful for any help,
/axl
 
R

Ryan Ginstrom

On Behalf Of axl
Since I don't have access to MSVS 2003 I need to rebuild
Python using MSVS 2008 in order for the binaries to go along.

Another option is to compile your extensions with gcc, and specify that it
link to MSVCR71.dll as the C runtime.

For MinGW, it's sufficient to edit the specs (e.g. in
C:\MinGW\lib\gcc\mingw32\3.4.2) like so:
*libgcc:
%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcr71

And tell distutils to use mingw, by putting this in
lib/distutils/distutils.cfg:
[build]
compiler=mingw32
[build_ext]
compiler=mingw32

Regards,
Ryan Ginstrom
 
A

axl

Another option is to compile your extensions with gcc, and specify that it
link to MSVCR71.dll as the C runtime.

For MinGW, it's sufficient to edit the specs (e.g. in
C:\MinGW\lib\gcc\mingw32\3.4.2) like so:
*libgcc:
%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcr71

True, I was hoping to avoid MinGW, since I've been using MSVC for ages
and I know it well. Yet another package on the disk, etc... But as
this seems like the simplest solution for now I'll try that.

Cheers!
/axl
 
G

Gabriel Genellina

I'm going to be adding some features for a python-project with
external modules written in C. However, if I build modules with my
MSVS 2008 compiler (from the Windows SDK), they won't load in Python
2.5.2, which is built with MSVS 2003.

Since I don't have access to MSVS 2003 I need to rebuild Python using
MSVS 2008 in order for the binaries to go along.

For starters, I cloned the PCbuild8 folder and made whatever changes
needed to be able to build the core and executable. I then pulled down
all the various external dependencies and made the same adjustments to
those. After quite a while I've managed to build everything apart from

Which changes are those? I can build Python straight from the svn sources.
But, my problem is that the install scripts, i.e. "python setup.py
install" wants to go through the build steps again, but since those
don't work on Windows, or at least not with my setup, I can't put
together a complete package.

The MSI package generation is at Tools\msi in the source tree.
There are a few preliminary steps that must be done (only once) before
successfully building the installer, you'll notice as you go (the script
will tell you what's missing; a .rc file has to be compiled, as far as I
remember). Would be nice if you take note of them so one can write down
the proper build sequence.
 
A

axl

En Sun, 30 Mar 2008 12:04:10 -0300, axl <[email protected]>  
escribió:

Which changes are those? I can build Python straight from the svn sources.

I upgraded the project files to VS2008 format, changed some obsolete
settings, hacked distutils so it wouldn't barf on the Windows SDK 6.1
and added include paths to tcltk to the python.vsprops.
I did similar changes to all the external modules, tcl, tk, bzip2,
etc.

This was on the 2.5.2 tarball b.t.w. I suppose I could grab the svn
tip, if things have changed there, but I thought I'd start at an
official "release" point.
The MSI package generation is at Tools\msi in the source tree.
There are a few preliminary steps that must be done (only once) before  
successfully building the installer, you'll notice as you go (the script  
will tell you what's missing; a .rc file has to be compiled, as far as I  
remember). Would be nice if you take note of them so one can write down  
the proper build sequence.

Thanks Gabriel, for some reason I just assumed everything PC related
was in the PC* folders and the docs I found don't mention the msi
folder. I'll have a look there.

Cheers,
/axl
 

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,990
Messages
2,570,211
Members
46,796
Latest member
SteveBreed

Latest Threads

Top