http://qs1969.pair.com?node_id=1089918

HuckinFappy has asked for the wisdom of the Perl Monks concerning the following question:

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?