We've developed some code using KiokuDB, and I needed to get it running on windows this week. So I went out and grabbed Strawberry Perl, and started using CPAN to get all the modules I need up and running.

It all went well until satisfying the KiokuDB dependencies, at which point it choked on Data::Swap:

g++.exe -o blib\arch\auto\Data\Swap\Swap.xs.dll -Wl,--base-file -Wl,dl +l.base -mdll -s -L"C:\perl\5.20.0\perl\lib\CORE" -L"C:\perl\5.20.0\c\ +lib" Swap.o c:\perl\5.20.0\perl\lib\CORE\libperl520.a -lmoldname - +lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 + -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversio +n -lodbc32 -lodbccp32 -lcomctl32 dll.exp Swap.o:Swap.c:(.text+0xb8): undefined reference to `__imp_Perl_hv_back +references_p' Swap.o:Swap.c:(.text+0xd5): undefined reference to `__imp_Perl_hv_back +references_p' C:/perl/5.20.0/c/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x +86_64-w64-mingw32/bin/ld.exe: Swap.o: bad reloc address 0x0 in sectio +n `.pdata' C:/perl/5.20.0/c/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x +86_64-w64-mingw32/bin/ld.exe: final link failed: Invalid operation collect2.exe: error: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\Data\Swap\Swap.xs +.dll'
I've found bug reports going back to 2009 on this, and I went back as far as perl 5.10, and it won't compile there either. I'm pretty bummed KiokuyDB has such an out-of-date core dependency, but besides that, i can't imagine the pain of redoing all the KiokuDB work manually myself. Any hints how I can get this compiled?

In reply to Problem Compiling Data::Swap by HuckinFappy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.