Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^9: Problem Installing DBD::Informix on Windows 7 using AS Perl 5.8.9

by roho (Monsignor)
on Aug 18, 2012 at 16:12 UTC ( #988230=note: print w/ replies, xml ) Need Help??


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."


Comment on Re^9: Problem Installing DBD::Informix on Windows 7 using AS Perl 5.8.9
Select or Download Code
Re^10: Problem Installing DBD::Informix on Windows 7 using AS Perl 5.8.9
by bulk88 (Priest) on Aug 18, 2012 at 18:31 UTC
    I am writing generically here. https://bugs.php.net/bug.php?id=3386. Do a grep on the folder with the library included .lib/.a/.o/.obj/etc, or do a start-search-files, inside files, inside subfolders, (plus you probably need some registry editing to add (I did) those file extensions to windows search, see http://support.microsoft.com/kb/309173). You are going to have to find where ifx_checkAPI lives. Some googling leaks to this, http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.esqlc.doc/sii-13-10773.htm. The other more experimental choice is get ifx_checkAPI out of your XS module, I dont know why it needs to be exported from the XS module (and I dont know your XS module either). http://msdn.microsoft.com/en-us/library/756as972.aspx Dumpbin is a very useful tool. It works on .obj/.o and .a/lib and on .exe/.dll files. Not all the files have all classes of info, a .obj/.o exports and imports nothing for example, but it does have plenty of symbols which some people say are "exported" since they are public and not static/private symbols and you can link with them from oter compliands. Another tool to try is StudPE. It works on exe and dlls, not sure if it will open a .obj/.lib.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://988230]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2014-07-12 15:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (240 votes), past polls