in reply to Re^3: Problems building Perl
in thread Problems building Perl

I deleted my previous perl folder and extracted perl-5.10.1.tar.gz to 'C:\Install\perl-5.10.1'.

Thereafter, I changed directory to 'C:\Install\perl-5.10.1\win32' and ran 'dmake -f makefile.mk'.

The make seemed to take considerably longer, but I got the same error as before. There were also many undefined references reported prior to the error being reported.

Replies are listed 'Best First'.
Re^5: Problems building Perl
by syphilis (Archbishop) on Mar 08, 2010 at 11:34 UTC
    There were also many undefined references reported prior to the error being reported.

    Ok .. looks as though there might be a problem with your MinGW installation. Can you give us a copy'n'paste of some of those "undefined reference" messages - you should have got no such messages at all.

    Also, how did you install MinGW ?

    Cheers,
    Rob

      I installed MingW by running the MinGW-5.1.6.exe install shield, that installed MingW onto my machine in the 'C:\MingW' folder.

      I have included a printout of the error that I received:

      C:\DOCUME~1\za100014\LOCALS~1\Temp\mk11 perllib.o:perllib.c:(.text+0x3e4a): undefined reference to `_Unwind_Resume' perllib.o:perllib.c:(.text+0x3f0c): undefined reference to `_Unwind_Resume' perllib.o:perllib.c:(.text+0x40b4): undefined reference to `_Unwind_Resume' perllib.o:perllib.c:(.text+0x42ca): undefined reference to `_Unwind_Resume' perllib.o:perllib.c:(.text+0x45ec): undefined reference to `_Unwind_Resume' perllib.o:perllib.c:(.text+0x46e2): more undefined references to `_Unwind_Resume ' follow perllib.o:perllib.c:(.eh_frame+0x12): undefined reference to `__gxx_personality_ v0' collect2: ld returned 1 exit status dmake: Error code 129, while making '..\perl510.dll'

      Regards Morne

        I installed MingW by running the MinGW-5.1.6.exe install shield

        Does that install g++ ? (Running g++ -dumpversion will tell you. If it produces a 'g++' is not recognized as an internal or external command ... warning then you *don't* have it. Alternatively, see if C:/MinGW/bin/g++.exe exists.)

        If you don't have the g++ package, you can grab the current gcc-g++-a.b.c-xxxxxxxx.tar.gz. The 'a.b.c' needs to be the same as reported by gcc -dumpversion
        I'm not sure what 'xxxxxxxx' will be (except that it will be numerical characters), but any value should do. I tried finding a link here but, as usual, that page doesn't display properly for me. Just unpack that tar.gz file to C:\MinGW. Once the unpacking has completed check that g++.exe is in C:/MinGW/bin.

        I have no idea what _Unwind_Resume is - can't find it anywhere on Google, in MinGW, or in Perl. And the __gxx_personality_ v0 symbol that you've reported is just bizarre. I've never seen a symbol with a space in it before. Maybe that should be __gxx_personality_v0 - but, even so, whilst my libstdc++ resolves __gxx_personality_sj0 there's no mention of __gxx_personality_v0. Maybe that's just different versions of gcc.

        Anyway, I don't want to speculate further until I know that you've got g++ installed. If you don't already have it, after installing it run dmake distclean to clean up the previous build, followed by dmake -f makefile.mk again.

        Cheers,
        Rob