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


in reply to Re^8: Problem Installing DBD::Informix on Windows 7 using AS Perl 5.8.9
in thread Problem Installing DBD::Informix on Windows 7 using AS Perl 5.8.9

The output of perl -V:archname is archname='MSWin32-x86-multi-thread'; so $NTConfiguration is set to true. I deleted $opt{LD} right before WriteMakefile. When I re-ran perl Makefile.PL and nmake I got the following linker errors:

link -out:blib\arch\auto\DBD\Informix\Informix.dll -dll -nologo -nodef +aultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x8 +6 Informix.obj dbdimp.obj dbdattr.obj sqltoken.obj sqltype.obj ixblob +.obj odbctype.obj kludge.obj link.obj esqlcver.obj esqlc_v6.obj /LIBP +ATH:C:\PROGRA~2\IBM\Informix\11.70/lib /LIBPATH:C:\PROGRA~2\IBM\Infor +mix\11.70/lib/esql "C:/PROGRA~2/IBM/Informix/11.70\lib\isqlt09a +.lib" "C:/PROGRA~2/IBM/Informix/11.70\lib\igl4n304.lib" "C:/PROGRA~2/ +IBM/Informix/11.70\lib\iglxn304.lib" "C:/PROGRA~2/IBM/Informix/11.70\ +lib\igo4n304.lib" netapi32.lib wsock32.lib user32.lib winmm.lib advap +i32.lib C:\Perl\lib\CORE\perl58.lib oldnames.lib kernel32.lib user32 +.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ol +e32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm. +lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:Informix.def Informix.def : error LNK2001: unresolved external symbol ifx_checkAPI Informix.def : error LNK2001: unresolved external symbol ifx_checkAPI blib\arch\auto\DBD\Informix\Informix.lib : fatal error LNK1120: 2 unre +solved externals NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual S +tudio 10.0\VC\BIN\link.EXE"' : return code '0x460' Stop.

I checked Informix.def and its contents are:

LIBRARY "Informix" EXPORTS ifx_checkAPI _ifx_checkAPI = ifx_checkAPI boot_DBD__Informix _boot_DBD__Informix = boot_DBD__Informix

I have no idea what this file and its contents are supposed to do. You're right. This is a mess. I would like to clean it up but writing a new Makefile.PL is beyond my expertise. All I want to do is install the module and get on with my work.

"Its not how hard you work, its how much you get done."