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

Greetings,

I am trying to build libwin32-18 with bleedperl (5.7.3).
The build process terminates with the following:

"Running Mkbootstrap for Win32::Internet ()" D:\bleedperl\bin\perl.exe -ID:\bleedperl\lib -ID:\bleedperl\lib -M +ExtUtils::Command -e chmod 644 Internet.bs D:\bleedperl\bin\perl.exe "-ID:\bleedperl\lib" "-ID:\bleedperl\lib +" -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Win32::Internet\", + 'DLBASE' => 'Internet', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPOR +TS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\Win32\Internet\Internet.dll -dll -nologo +-nodefaultlib -release -libpath:"D:\bleedperl\lib\CORE" -machine:x8 +6 Internet.obj D:\bleedperl\lib\CORE\perl57.lib C:\PROGRA~1\MICROS~ +4\VC98\LIB\wininet.lib -def:Internet.def Creating library blib\arch\auto\Win32\Internet\Internet.lib and obj +ect blib\arch\auto\Win32\Internet\Internet.exp Internet.obj : error LNK2001: unresolved external symbol _strcmp Internet.obj : error LNK2001: unresolved external symbol __imp__strncm +p Internet.obj : error LNK2001: unresolved external symbol __imp___errno Internet.obj : error LNK2001: unresolved external symbol _VerQueryValu +eA@16 Internet.obj : error LNK2001: unresolved external symbol _GetFileVersi +onInfoA@16 Internet.obj : error LNK2001: unresolved external symbol _GetFileVersi +onInfoSizeA@8 Internet.obj : error LNK2001: unresolved external symbol __imp__FileTi +meToSystemTime@8 Internet.obj : error LNK2001: unresolved external symbol _strlen Internet.obj : error LNK2001: unresolved external symbol _strcpy Internet.obj : error LNK2001: unresolved external symbol __imp__Format +MessageA@28 Internet.obj : error LNK2001: unresolved external symbol __imp__GetMod +uleHandleA@4 LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@1 +2 blib\arch\auto\Win32\Internet\Internet.dll : fatal error LNK1120: 12 u +nresolved externals NMAKE : fatal error U1077: 'link' : return code '0x460' Stop.
I think something's amiss in Makefile.PL, but I have no clue on what.

Does anybody know how to fix this?
Cheers,
alf


You can't have everything: where would you put it?

Edit by tye to change PRE tags to CODE tags

Replies are listed 'Best First'.
Re: Bulding libwin32 18 with bleedperl
by perlplexer (Hermit) on Apr 18, 2002 at 15:52 UTC
    strlen(), strcpy(), strcmp()...
    Seems like nmake can't find MSVCRT (C runtime lib), which is rather strange...
    Try adding "C:\PROGRA~1\MICROS~4\VC98\LIB\" to your PATH.
    If that doesnt work, try adding it to -libpath in the make file.

    Hope this helps.

    --perlplexer
Re: Bulding libwin32 18 with bleedperl
by alien_life_form (Pilgrim) on Apr 18, 2002 at 16:57 UTC
    I found a fix:
    In Makefile.PL one needs to change the line that reads:
    'LIBS' => [ ":nosearch ${inetlib}.lib" ],
    to read instead
    'LIBS' => [ ":nosearch ${inetlib}.lib $Config{libs}" ],
    Which sort of fixes it. I doubt I am rather curing the symptom instead of the actual illness though.
    Cheers,
    alf
    You can't have everything: where would you put it?