http://www.perlmonks.org?node_id=1017614


in reply to Linker error when installing modules on Perl 5.10.0 with cpan.bat on Windows

In the current project I got to develop with Perl Version 5.10.0 on Windows 7 - Strawberryperl

Any chance you could upgrade to a later version of Strawberry Perl ... say, 5.16.x ?
5.10.0 is best forgotten (and avoided), imo.

Cheers,
Rob
  • Comment on Re: Linker error when installing modules on Perl 5.10.0 with cpan.bat on Windows

Replies are listed 'Best First'.
Re^2: Linker error when installing modules on Perl 5.10.0 with cpan.bat on Windows
by tobias_hofer (Friar) on Feb 07, 2013 at 11:26 UTC

    Unfortunately I have to stay at version 5.10.0. I would prefer 5.16 also ;-)

    I forced the Installation of MakeMaker and it was working fine. Coming back to the the other Packages.. the installation of package DBI is still failing because of the linker error.. is it possible to do some kind of clean and rebuild for the package? Installation of SQLite_File is also failing on other required packages which can not be installed... this drives me insane..aaahh...
    Any ideas?

      -- Solution found! --
      Yes.. got it! I am so sorry for troubling all you Monks!

      I got one more installation of MinGW on my System. Installed at C:\MinGW\.

      Found the hint to this here: dev-c-compiler-just-not-working
      However, although this installation is not mentioned in the system PATH, doing
      a dmake run will refer to it. As versions are different:
      Strawberryperl 5.10.0 comes with gcc 3.4.5
      My systems has installed gcc 4.7.2
      it is quite likely that compilation and/or linking it will break at some point.

      Thanks a lot to all you monks out there!!!

        You are right, sorry!
        To make a long story short:
        To install the module manual, I do the following:
        (used perl: strawberry 5.10.0 which comes with mingw environment)

        1# download package from cpan
        2# give: perl Makefile.PL => Looks good
        3# Run the make command: dmake (comes with strawberryperl)

        No matter what module I want to Install (with compilation) I get the same linker error which makes me think of using a later gcc version or check the generated lib paths.

        /mingw/lib/dllcrt2.o:dllcrt1.c:(.text+0xe5):<b> undefined reference to + `__dyn_tls_init_callback'</b> Cwd.o:Cwd.c:(.text+0x103): undefined reference to `croak_xs_usage' collect2: ld returned 1 exit status
        So we got here an unresolved reference to __dyn_tls_init_callback.
        I was googling a bit a found that other people on different projects have this issue too.
        Seems to be a problem with the libs so I got to check if all libs are available to the build-process.
        So I will start analyze the Makefile. :-)