[Python-Dev] report on building of python 2.5.2 under msys under wine on linux.

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat Jan 17 18:41:12 CET 2009


hiya roumen, good to hear from you - i've been merging in the work
that you did, on mingw native-and-cross compiles.  got a couple of
questions, will post them in the bugreport ok?

On Sat, Jan 17, 2009 at 3:16 PM, Roumen Petrov
<bugtrack at roumenpetrov.info> wrote:
> Luke Kenneth Casson Leighton wrote:
> [SNIP]
>>
>> i'm going to _try_ to merge in #3871 but it's... the prospect of
>> sitting waiting for configure to take THREE hours to complete, due to
>> /bin/sh.exe instances taking TWO SECONDS _each_ to start up does not
>> really fill me with deep joy.
>
> As from version 1.1.8 msys bash could be run in wine.

 ah, that might be worth trying.  thank you!

>> it's all a bit odd - it still feels like things are being
>> cross-compiled... but they're not... it's just that setup.py has paths
>> that don't _quite_ match up with the msys environment...
>
> You could use CPPFLAGS and LDFLAGS to point other locations.
> Usually wine drive Z: is mapped to filesystem root and visible as /z in
> msys.

 oh don't get me wrong - it all works, all compiles absolutely fine,
 modules and everything...

 it just... _feels_ like a cross-compile, because of msys.
 you're sort-of in unix-land, yet the resultant binary python.exe
 is most _definitely_ "c:/"ey.

>> the regression testing is _great_ fun!  some of the failures are
>> really quite spectacular, but surprisingly there are less than
>> anticipated.
>
> About 5 test fail in emulated environment due bugs in emulator.

 i have 12 that fail - but if i replace msvcrt builtin with msvcrt
native, all but two or three disappear.  the S8I one (which is due to
gcc, you already found that i noticed); tmpfile() tries to write to
z:/ which is of course / - the root filesystem; and
os.environ['HELLO'] = 'World; os.popen("/bin/sh echo $HELLO").read()
!= 'World' but i'm not sure if that one _should_ succeed: the only
reason it got run is because i _happened_ to have msys installed.


> May be some math tests fail. Python math tests are too strict for msvcrt
> 7.0/6.0 (default runtime). Simple work around is to use long double
> functions from mingwex library.

 oh i noticed in http://bugs.python.org/issue3871 that you replaced
some of the math functions.

> Other work-around is to build whole python (including modules) with msvcrt
> 9.0 but I'm not sure that I will publish soon technical details about this
> build as "DLL hell" is replaces by "Assembly hell" (see python issues
> related to vista and MSVC build).

 ooo, scarey.

 oh!  roumen, very important: martin says we have to be _really_
careful about releases of mingw-compiled python.exe and
libpython2.N.dll - they _have_ to match up with the python-win32 build
msvcrt otherwise it will cause absolute mayhem.

i'm currently adding an msvcr80 specfile so i can build under wine -
see http://bugs.python.org/msg79978 which requires that you customise
wine to get it to drop something blah blah don't care in the least, i
just want it all to work :)

l.


More information about the Python-Dev mailing list