Hi, Alan! What kind of CPU do you have? If you have an AMD Athlon XP (or something of similar lineage), I think I know what the problem is.
On Thu, 24 Jan 2008 12:52:35 -0800 Alan Rocker (via RT) <[EMAIL PROTECTED]> wrote: > Determining if your platform supports GMP...Can't spawn ".\test.exe": > Bad file descriptor at lib/Parrot/Configure/Utils.pm line 85. > ............................no. > > (Windows wanted to 'phone home about test.exe too.) Yeah, I get that on Strawberry Perl too. It surprised me, and it pauses the configure process until you click "Don't send report". > Might there be some obscure connection with > [perl #41508] [BUG] Configure losing flags... ? Nah, I think the test app just broke for whatever reason. The mingw32 environment packaged with Strawberry Perl does include a libgmp.a and libgmp.la, so the test app was built properly, but failed to run. I reproduced it by copying config/auto/gmp/gmp.in to gmp.c, and compiling with: > gcc -O2 -Wall -g -ggdb -o gmp.exe gmp.c -lgmp The resulting gmp.exe crashes and Windows prompts if I want to send an error report to microsoft.com. I poked around a bit with gdb, and discovered its barfing on an SSE2 instruction ("pmuludq") in libgmp.a (at __gmpn_divrem_1+266), which my CPU (an athlon XP) can't handle. So I'm going to ask the Strawberry Perl guy about this. For the record, here's what GDB says: Program received signal SIGILL, Illegal instruction. 0x00405aaa in __gmpn_divrem_1 () (gdb) bt #0 0x00405aaa in __gmpn_divrem_1 () #1 0x00401ae8 in mpn_sb_get_str () #2 0x00000001 in ?? () #3 0x003d2680 in ?? () #4 0x0022fc1b in ?? () #5 0x00000011 in ?? () #6 0x12e0be82 in ?? () #7 0x00000002 in ?? () #8 0x003d0000 in ?? () #9 0x40000161 in ?? () #10 0x7c91056d in ntdll!RtlFreeThreadActivationContextStack () from C:\WINDOWS\system32\ntdll.dll #11 0x00000000 in ?? () And the relevant disassembly: 0x00405aa4 <__gmpn_divrem_1+260>: paddd %mm0,%mm2 0x00405aa7 <__gmpn_divrem_1+263>: punpckldq %mm0,%mm1 0x00405aaa <__gmpn_divrem_1+266>: pmuludq %mm4,%mm2 0x00405aad <__gmpn_divrem_1+269>: paddq %mm2,%mm1 0x00405ab0 <__gmpn_divrem_1+272>: pxor %mm2,%mm2 Mark