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

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

Replies are listed 'Best First'.
Re^7: Problems building Perl
by syphilis (Archbishop) on Mar 08, 2010 at 22:05 UTC
    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
      I have no idea what _Unwind_Resume is

      Seems to belong to the gcc_s library:

      $ objdump -T /lib/libgcc_s.so.1 | grep _Unwind_Resume 0000000000009080 g DF .text 00000000000000ff GCC_3.3 _Unwin +d_Resume_or_Rethrow 0000000000008cd0 g DF .text 00000000000000f5 GCC_3.0 _Unwin +d_Resume
        Seems to belong to the gcc_s library

        Crikey ... that's gcc-4.x.x ! I thought the MinGW installer was still installing gcc-3.x.x. (I didn't think to check my gcc-4 installation.)

        I guess I should've checked earlier but, Morne, what does gcc -dumpversion produce ?

        Thanks for digging that up, almut ... now we just have to work out how it relates to the problem the OP is having.

        Afterthought: Morne, are there any other installations of gcc on your computer ? (I'm wondering if there's a second gcc installation that's interfering with the build process. I personally don't have any problem with either gcc-3 or gcc-4 wrt the building of perl-5.10.1 from source.)

        Cheers,
        Rob