develooper Front page | perl.perl5.porters | Postings from January 2008

[quasi-OT] generate_uudmap.exe segfaults (Windows Vista, MinGW)

From:
Sisyphus
Date:
January 27, 2008 04:07
Subject:
[quasi-OT] generate_uudmap.exe segfaults (Windows Vista, MinGW)
Message ID:
1732E36DD0A84B0EBF61EDEEB97EC0A9@desktop2
Hi,

I'm trying to build perl 5.10 on Windows Vista using a MinGW port of 
gcc-3.4.5. It's a port I've built myself from source. (The build was done as 
a cross-compilation on linux, using official sources, and in an officially 
approved way. To that extent it is, therefore, an "official" build.)

If I use the MinGW binaries supplied by the MinGW project team then there's 
no problem - it's just *my* build that's throwing up the error. (There's an 
explanation below my sig of why I'm doing this, for anyone 
curious/interested.)

Anyway, the error I'm getting is an "Unhandled Win32 Exception" when the 
following command is run:

..\generate_uudmap.exe >..\uudmap.h

Using the same compiler to attempt to build perl-5.8.8, the same problem 
arises when the following is run:

cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm

I guess there could be a connection.

Admittedly, I haven't provided much to go on, but does anybody have any idea 
what might be going wrong ?
What other things can I do to diagnose the problem ?

I notice that both miniperl.exe and generate_uudmap.exe are built by g++.exe 
using very similar commands. I can report that my g++.exe seems to be 
generally quite serviceable. It builds Inline::CPP without any problem. In 
fact, there has been no trouble with any of the perl extensions I've tried 
to build using this compiler. (Obviously, I've been using this compiler to 
build modules on a perl it did not build.)

And I probably should add that I didn't cross-compile binutils, 
mingw-runtime, and w32api from source - I used available binaries for them. 
The only sources I used were gcc-core-3.4.5-20060117-1-src.tar.gz, 
gcc-g++-3.4.5-20060117-1-src.tar.gz and gcc-g77-3.4.5-20060117-1-src.tar.gz.

Cheers,
Rob

The explanation:

1. Windows Vista broke MinGW.
2. The MinGW sources were patched to fix the problem, and a patched gcc.exe 
and g++.exe (but no g77.exe) were made available.
3. I need a g77.exe (mainly for PGPLOT and PDL) that works with Vista.
4. After waiting almost a year for a patched g77.exe to appear (which didn't 
happen) I finally bit the bullet and built my own MinGW including g77.
5. The patched gcc.exe and g++.exe mentioned in "2." (which will build perl 
just fine) won't work with my own build of MinGW - something to do with 
different directory structures, I believe.
6. I would like to be using the same compiler for everything - not one 
compiler to build perl, and a separate compiler to build PGPLOT/PDL.

(If need be, I could probably look at rebuilding my MinGW compiler in such a 
way that the patched gcc.exe and g++.exe mentioned in "2." *can* be used 
with it.)







nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About