[Python-Dev] Cygwin: Problem detecting subprocess termination after _spawn_posix in distutils?
steve at holdenweb.com
Mon Jul 30 20:59:02 CEST 2007
I've been trying to install PIL 1.1.6 for several days now under Cygwin.
I have tried the Cygwin, Image and distutils lists with nary a pointer,
so I wondered whether python-dev might lead me to an answer (other than
"Stop using Cygwin" ;-)
Here's the output from a failed setup run with a couple of debug prints
inserted which should report how sub-process termination occurred - it
hangs after this output.
$ python setup.py build
building '_imaging' extension
SPAWN: ['gcc', '-fno-strict-aliasing', '-DNDEBUG', '-g', '-O3', '-Wall',
'-Wstrict-prototypes', '-DHAVE_LIBZ', '-IlibImaging', '-I/usr/include',
'-I/usr/include/python2.5', '-c', 'libImaging/Chops.c', '-o',
'build/temp.cygwin-1.5.24-i686-2.5/libImaging/Chops.o'] PATH? 1 V: 0 D:0
gcc -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes
-DHAVE_LIBZ -IlibImaging -I/usr/include -I/usr/include/python2.5 -c
libImaging/Chops.c -o build/temp.cygwin-1.5.24-i686-2.5/libImaging/Chops.o
Are we done yet? Waiting on pid 3280
I have to kill a python.exe process that's left running in the
background if I CTRL/C the build. Otherwise it will spend all night in a
tight loop. The compilation is finished when I kill the process, and the
next compile will begin if I repeat the command.
I extracted the _spawn_all function from distutils/spawn.py, hacked some
exceptions and ran it under command line control.
That worked fine with other subtasks, so I wondered whether this was a
failure specific to gcc, which would seem kind of unlikely. I ran the
same compile using my test function standing alone, seeing success:
sholden at bigboy ~/Imaging-1.1.6
$ python ~/Projects/Python/spawntest.py gcc -fno-strict-aliasing
-DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DHAVE_LIBZ -IlibImaging
-I/usr/include -I/usr/include/python2.5 -c libImaging/Chops.c -o
Are we done yet? Waiting on pid 3244
Got pid, status 3244 0
Got WIFEXITED 0
So it appears unlikely to be gcc-specific, leaving me wondering what
exactly is the difference between the build environment and my tests.
It would be really nice if test_distutils showed any failures, but it
doesn't so any assistance would be welcome. At this point I can't even
replicate the failure in a simpler test :-(
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------
More information about the Python-Dev