develooper Front page | perl.perl5.porters | Postings from May 2018

Re: [perl #133197] [PATCH] win32/Makefile: prevent execution withoutCCTYPE set

Thread Previous
Tomasz Konojacki
May 13, 2018 05:30
Re: [perl #133197] [PATCH] win32/Makefile: prevent execution withoutCCTYPE set
Message ID:
On Sat, 12 May 2018 19:19:54 -0700
"bulk88 \(via RT\)" <> wrote:

> MSVC6 is the oldest CC supported. I dont think many Win32 users use it
> anymore since if they use VC Perl at all, it will be the latest
> Visual Studio "Community Edition" MS released. win32/GNUMakefile and
> win32/ autodetect VC versions, the nmake one doesn't. Out of
> habit someone (like me) might type "nmake" at cmd prompt with a newer VC
> but there aren't any obvious symptoms of something going wrong until
> C:\p525\src\miniperl.exe "-I..\..\lib" -MExtUtils::Command -e
> chmod -- 755 ..\..\lib\auto\Win32CORE\Win32CORE.lib
> .\miniperl.exe -I..\lib > Extensions_static
> link -dll -def:perldll.def -base:0x28000000 -out:..\perl528.dll
> @Extensions_static @C:\Users\Owner\AppData\Local\Temp\nm9E37.tmp
> perldll.def(2) : warning LNK4017: DESCRIPTION statement not supported for
> the target platform; ignored
> perldll.def : error LNK2001: unresolved external symbol PL_lc_numeric_mutex
> .\perl528.lib : fatal error LNK1120: 1 unresolved externals
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 12.0\
> VC\BIN\link.EXE"' : return code '0x460'
> Stop.
> Hitting this error because CCTYPE wasn't set, is very confusing and I spent
> alot of time to debug it. The CCTYPE inside (MSVC60) didn't
> match MSVC version inside perl.h (MSC_VER macro) after CPP, so the symbol
> didn't exist in object file world but did exist the the synthesized object
> file defines inside

+1, that CCTYPE issue has been annoying me for a long time. Defaulting
to MSVC6 indeed doesn't make much sense in 2018.

Thread Previous Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About