in reply to 5.26 and prebuilt libraries on Windows

The problem is that the path to msvcrt.lib is wrong

I take it that C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcrt.lib exists - otherwise I would expect that the
link -out ...... "C:\Program Files (x86)\Microsoft Visual Studio 10.0\ +VC\lib\msvcrt.lib" -def:Zlib.def
command would fail because that file could not be found.
Are those 2 versions of msvcrt.lib different ? (Compare their respective Sha1 or MD5 values.)

Maybe all you need to do is change the 'libpth' setting (permanently) to '\lib'.
You can do this by changing the value assigned to "libpth" in both perl\lib\CORE\Config.pm and perl\lib\CORE\Config_heavy.pl.
Having made those changes, just run perl -V:libpth to check that they have taken effect.
(If they haven't taken effect then they haven't been made correctly.)

If the current 'libpth' setting is incorrect for Compress::Raw::Zlib, then it is incorrect for all perl extensions - and needs to be changed to the correct value.

Note that you could also build the module by cd'ing to the build directory and running that link command (corrected to include the missing "amd64").
If your diagnosis of the problem is correct, then that link command should then succeed.
Once you've got that link command successfully run, just re-run nmake to complete the build.

•this is not a problem of the Compress:Raw:Zlib extensions, but of the perl itself.

Yes - if the libpth setting is not correct then this does, indeed, appear to be a bug in the perl source and a perlbug report for it should be filed.

Cheers,
Rob

Replies are listed 'Best First'.
Re^2: 5.26 and prebuilt libraries on Windows
by Marc-Philip (Initiate) on Nov 22, 2017 at 13:05 UTC
    Hi Rob, I think I found the problem and I've created ticket 132484 for this on perlbug. I've attached a patch there that fixes it (at least for me).

    Let's see what happens.
    Thanks and Regards Marc-Philip