Skip Menu |

This queue is for tickets about the dmake CPAN distribution.

Report information
The Basics
Id: 89440
Status: resolved
Priority: 0/
Queue: dmake

People
Owner: Nobody in particular
Requestors: BULKDD [...] cpan.org
Cc: jand [...] ActiveState.com
AdminCc:

Bug Information
Severity: Important
Broken in: 4.12-20090907-SHAY
Fixed in: 4.12.2-20140329-SHAY



CC: jand [...] activestate.com
Subject: broken with Mingw on ActivePerl
TLDR: PPM dmake thinks its running on a VC machine, this is wrong, anyone with VC will be using nmake, people who download the dmake PPM package are also downloading the Mingw package for their ActivePerls (since if it was strawberry both are included). PPM/CPAN dmake must default to a Mingw setup, not VC. If the writing in this ticket is exceptionally incoherent, I'm not myself ATM. I recently got this CPAN testers report. The build system on this machine http://www.cpantesters.org/cpan/report/7c445206-6e6d-1014-ac79-55795be8bcae tried to run $(AS), which is defined as "masm" instead of "as[.exe]". For macros like CC, LD, and AR, those are defined by MakeMaker from $Config in the makefile in section Show quoted text
_________________________________________ # --- MakeMaker const_config section: # These definitions are from config.sh (via C:/sperl/perl/lib/Config.pm). # They may have been overridden via Makefile.PL or on the command line.
_________________________________________ but AS is not defined by MakeMaker and it will fallback to the make tool's builtins. On strawberry perl, this isn't a problem, since the dmake included with SP is setup for Mingw. The dmake PPM package at http://ppm4.activestate.com/MSWin32-x64/5.16/1600/-/--/MINGW64/ is set up for VC (although that is debatable because VC's assembler is "ml" or "ml64" not "masm", "masm" is from before 1991, "Earlier versions of the Microsoft Macro Assembler were named MASM.EXE and the Microsoft Assembler is still generally referred to as MASM even though the file name for the assembler was changed to ML.EXE in 1991 with the release of MASM version 6.0." http://www.masm32.com/history.htm ). Also since the dmake PPM package is under AS's private namespace, I'm not sure if Steve Hay or Jan are responsible for changes to fix the issue in this ticket. So Jan gets CCed too. the dmake cpan package says in its readme
__________________________________________________ You can change the default platform in the startup\config.mk file (the defaults, despite appearances, are set up for MS VC++ 6 on Windows NT/2000/XP etc.). If you change the defaults, you'll need to make sure the subdirectories you name in startup\config.mk are populated with setup files (you can use the current hierarchy as a model).
__________________________________________________ Ive attached the folder layouts of strawberry perl dmake vs PPM dmake. I've also attached verbose logs of a building attempt, the .mk contents of a strawberry dmake vs the PPM dmake. The reason for the Mithaldu section title is the PPM dmake is on Mithaldu's machine, not mine. The file startup\startup.mk which is on both SP and PPM dmake, the file on PPM dmake is overriden later by the file startup\win95\microsft\macros.mk which turns the setup from Mingw to VC (or really Microsoft C for MSDOS). -V of the Perl in question
__________________________________________________ Summary of my perl5 (revision 5 version 16 subversion 3) configuration: Platform: osname=MSWin32, osvers=5.2, archname=MSWin32-x64-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='c:\Perl1664\site\bin\gcc.exe', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields', optimize='-O2', cppflags='-DWIN32' ccversion='', gccversion='gcc.exe (rubenvb-4.5.4) 4.5.4', gccosandvers='' intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='c:\Perl1664\site\bin\g++.exe', ldflags ='-L"c:\perl1664\lib\CORE"' libpth=\lib libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl516.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -L"c:\perl1664\lib\CORE"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 1603 [296746] Built under MSWin32 Compiled at Mar 13 2013 13:31:10 @INC: c:/Perl1664/site/lib/MSWin32-x64-multi-thread c:/Perl1664/site/lib c:/Perl1664/lib .
________________________________________________________ The Mingw and dmake were installed using PPM on AP on a VC-less system.
Subject: PPM dmake folders.txt

Message body is not shown because it is too large.

Subject: dmake verbose strawberry vs PPM.txt
####################bulk88##################### dmake: Openning [C:\sperl\c\bin\startup\startup.mk] for read (success) dmake: Openning [C:\sperl\c\bin\startup\config.mk] for read (success) dmake: Parsing include file [C:\sperl\c\bin\startup\config.mk]. dmake: Closing [C:\sperl\c\bin\startup\config.mk] dmake: Openning [C:\sperl\c\bin\startup\local.mk] for read (success) dmake: Parsing include file [C:\sperl\c\bin\startup\local.mk]. dmake: Closing [C:\sperl\c\bin\startup\local.mk] dmake: Openning [C:\sperl\c\bin\startup\winnt\macros.mk] for read (success) dmake: Parsing include file [C:\sperl\c\bin\startup\winnt\macros.mk]. dmake: Openning [C:\sperl\c\bin\startup\winnt\mingw\macros.mk] for read (success) dmake: Parsing include file [C:\sperl\c\bin\startup\winnt\mingw\macros.mk]. dmake: Closing [C:\sperl\c\bin\startup\winnt\mingw\macros.mk] dmake: Closing [C:\sperl\c\bin\startup\winnt\macros.mk] dmake: Openning [C:\sperl\c\bin\startup\winnt\recipes.mk] for read (success) dmake: Parsing include file [C:\sperl\c\bin\startup\winnt\recipes.mk]. dmake: Openning [C:\sperl\c\bin\startup\winnt\mingw\recipes.mk] for read (fail) dmake: Include file [C:\sperl\c\bin\startup\winnt\mingw\recipes.mk] was not found. dmake: Closing [C:\sperl\c\bin\startup\winnt\recipes.mk] dmake: Openning [project.mk] for read (fail) dmake: Include file [project.mk] was not found. dmake: Closing [C:\sperl\c\bin\startup\startup.mk] dmake: Openning [makefile.mk] for read (fail) dmake: Infering prerequisite(s) and recipe for [makefile.mk] dmake: Time stamp of [makefile.mk] is 0 dmake: Openning [makefile] for read (success) dmake: Closing [makefile] Checking prerequisite [.INIT] Checking prerequisite [__.NULLPRQ] dmake: >>>> Making [__.NULLPRQ] dmake: Updating [__.NULLPRQ], (1 > 0) dmake: <<<< Set [__.NULLPRQ] time stamp to 1381563848 dmake: >>>> Making [.INIT] dmake: Updating [.INIT], (1381563848 > 0) dmake: <<<< Set [.INIT] time stamp to 1381563848 ############################chunk of C:\sperl\c\bin\startup\startup.mk########################################## # ---------- Default Construction Macro and Rule definitions -------------- # The construction rules may be customized further in subsequent recipes.mk # files. .IF $(__.DEFAULTS) # Primary suffixes in common use A *:= .a # Libraries E *:= # Executables F *:= .f # Fortran O *:= .o # Objects P *:= .p # Pascal S *:= .s # Assembler sources V *:= ,v # RCS suffix YTAB *:= y.tab # name-stem for yacc output files. LEXYY *:= lex.yy # lex output file # Standard C-language command names and flags CPP *:= $/lib$/cpp # C-preprocessor CC *:= cc # C compiler CFLAGS *= # C compiler flags "C++" *:= CC # C++ Compiler "C++FLAGS" *= # C++ Compiler flags AS *:= as # Assembler and flags ASFLAGS *= LD *= $(CC) # Loader and flags LDFLAGS *= LDLIBS *= # Default libraries AR *:= ar # archiver ARFLAGS *= -rv # Definition of Print command for this system. PRINT *= lp ########################Mithaldu##################################### dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\startup.mk] for read (success) dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\config.mk] for read (success) dmake.exe: Parsing include file [c:\Perl1664\site\lib\auto\dmake\startup\config.mk]. dmake.exe: Closing [c:\Perl1664\site\lib\auto\dmake\startup\config.mk] dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\local.mk] for read (fail) dmake.exe: Include file [c:\Perl1664\site\lib\auto\dmake\startup\local.mk] was not found. dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\win95\macros.mk] for read (success) dmake.exe: Parsing include file [c:\Perl1664\site\lib\auto\dmake\startup\win95\macros.mk]. dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\macros.mk] for read (success) dmake.exe: Parsing include file [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\macros.mk]. dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\vpp40\macros.mk] for read (fail) dmake.exe: Include file [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\vpp40\macros.mk] was not found. dmake.exe: Closing [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\macros.mk] dmake.exe: Closing [c:\Perl1664\site\lib\auto\dmake\startup\win95\macros.mk] dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\win95\recipes.mk] for read (success) dmake.exe: Parsing include file [c:\Perl1664\site\lib\auto\dmake\startup\win95\recipes.mk]. dmake.exe: Openning [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\recipes.mk] for read (fail) dmake.exe: Include file [c:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\recipes.mk] was not found. dmake.exe: Closing [c:\Perl1664\site\lib\auto\dmake\startup\win95\recipes.mk] dmake.exe: Openning [project.mk] for read (fail) dmake.exe: Include file [project.mk] was not found. dmake.exe: Closing [c:\Perl1664\site\lib\auto\dmake\startup\startup.mk] dmake.exe: Openning [makefile.mk] for read (fail) dmake.exe: Infering prerequisite(s) and recipe for [makefile.mk] dmake.exe: Time stamp of [makefile.mk] is 0 dmake.exe: Openning [makefile] for read (success) dmake.exe: Closing [makefile] Checking prerequisite [.INIT] Checking prerequisite [__.NULLPRQ] dmake.exe: >>>> Making [__.NULLPRQ] ##################################chunk of c:\Perl1664\site\lib\auto\dmake\startup\startup.mk########## # ---------- Default Construction Macro and Rule definitions -------------- # The construction rules may be customized further in subsequent recipes.mk # files. .IF $(__.DEFAULTS) # Primary suffixes in common use A *:= .a # Libraries E *:= # Executables F *:= .f # Fortran O *:= .o # Objects P *:= .p # Pascal S *:= .s # Assembler sources V *:= ,v # RCS suffix YTAB *:= y.tab # name-stem for yacc output files. LEXYY *:= lex.yy # lex output file # Standard C-language command names and flags CPP *:= $/lib$/cpp # C-preprocessor CC *:= cc # C compiler CFLAGS *= # C compiler flags "C++" *:= CC # C++ Compiler "C++FLAGS" *= # C++ Compiler flags AS *:= as # Assembler and flags ASFLAGS *= LD *= $(CC) # Loader and flags LDFLAGS *= LDLIBS *= # Default libraries AR *:= ar # archiver ARFLAGS *= -rv # Definition of Print command for this system. PRINT *= lp # Language and Parser generation Tools and their flags YACC *:= yacc # standard yacc YFLAGS *= LEX *:= lex # standard lex LFLAGS *= #################chunk from C:\Perl1664\site\lib\auto\dmake\startup\win95\microsft\macros.mk########## MSDOS Microsoft-C environment customization. .IF $(OSENVIRONMENT) .INCLUDE .IGNORE .NOINFER : $(INCFILENAME:d)$(OSENVIRONMENT)$/macros.mk .ENDIF # Standard C-language command names and flags CC *:= cl # C compiler CPP *:= # C-preprocessor CFLAGS *= # C compiler flags "C++" *:= # C++ Compiler "C++FLAGS" *= # C++ Compiler flags AS *:= masm # Assembler and flags ASFLAGS *= LD *= link # Loader and flags LDFLAGS *= LDLIBS *= # Default libraries AR *:= lib # archiver ARFLAGS *= ???? # Definition of Print command for this system. PRINT *= print # Language and Parser generation Tools and their flags YACC *:= yacc # standard yacc YFLAGS *= LEX *:= lex # standard lex LFLAGS *=
Subject: strawberry perl dmake folders.txt
C:\sperl\51621port\c\bin\startup>dir /s Volume in drive C has no label. Volume Serial Number is 0CFF-E7B6 Directory of C:\sperl\51621port\c\bin\startup 12/28/2012 01:27 PM <DIR> . 12/28/2012 01:27 PM <DIR> .. 11/08/2009 11:26 PM 71 config.mk 01/28/2010 11:53 PM 23 local.mk 11/07/2011 10:29 AM 6,395 startup.mk 12/28/2012 01:27 PM <DIR> winnt 3 File(s) 6,489 bytes Directory of C:\sperl\51621port\c\bin\startup\winnt 12/28/2012 01:27 PM <DIR> . 12/28/2012 01:27 PM <DIR> .. 10/15/2007 05:47 PM 2,109 macros.mk 12/28/2012 01:27 PM <DIR> mingw 09/22/2000 05:33 PM 290 recipes.mk 2 File(s) 2,399 bytes Directory of C:\sperl\51621port\c\bin\startup\winnt\mingw 12/28/2012 01:27 PM <DIR> . 12/28/2012 01:27 PM <DIR> .. 03/25/2003 04:05 PM 253 macros.mk 1 File(s) 253 bytes Total Files Listed: 6 File(s) 9,141 bytes 8 Dir(s) 442,885,169,152 bytes free C:\sperl\51621port\c\bin\startup>strawberry perl
Thanks for the report. I could not reproduce the failure shown in the cpantesters report that you cited: Win32-API-0.76_03 (and 0.77) builds fine for me using MinGW-w64's gcc-4.8.0 + dmake-4.12-20090907-SHAY and perl-5.19.10 (built with the same gcc/dmake): see attached build/test output. So I'm not sure why the cpantesters report had the failure it did. Is something different in ActivePerl and/or the PPM dmake? I didn't spend any time investigating that, but I agree that it would be more sensible for this dmake build to default to a MinGW/gcc setup anyway (there's no reason why VC++ users can't use dmake, of course, but they're almost certainly going to be using nmake instead), so I have made the change in the new version that I've just uploaded: dmake-4.12.2-20140329-SHAY.
Subject: output.txt

Message body is not shown because it is too large.

The CPAN indexer has just refused to accept my new upload for some reason. I'm chasing that with Andreas right now, but in the meantime, I'm attaching the new version here in case you want to take a look.
Subject: dmake-4.12.2-20140329-SHAY.zip

Message body not shown because it is not plain text.

On Sat Mar 29 16:35:11 2014, SHAY wrote: Show quoted text
> Thanks for the report. > > I could not reproduce the failure shown in the cpantesters report that > you cited: Win32-API-0.76_03 (and 0.77) builds fine for me using > MinGW-w64's gcc-4.8.0 + dmake-4.12-20090907-SHAY and perl-5.19.10 > (built with the same gcc/dmake): see attached build/test output. > > So I'm not sure why the cpantesters report had the failure it did. Is > something different in ActivePerl and/or the PPM dmake?
I forgot to mention its only on x64 GCC Win32 Perl. So try a 64 bit ActivePerl with dmake/GCC, probably AP 5.16 is the best bet since IDK what AS did in 5.18 regarding their dmake (they switched to GCC from VC, so maybe they use a different branch/resynced their dmake to somewhere). 32 bit, GCC, Win32::API doesn't use an assembler app, so that is why nothing failed for you.
On Sat Mar 29 17:16:54 2014, BULKDD wrote: Show quoted text
> On Sat Mar 29 16:35:11 2014, SHAY wrote:
> > Thanks for the report. > > > > I could not reproduce the failure shown in the cpantesters report > > that > > you cited: Win32-API-0.76_03 (and 0.77) builds fine for me using > > MinGW-w64's gcc-4.8.0 + dmake-4.12-20090907-SHAY and perl-5.19.10 > > (built with the same gcc/dmake): see attached build/test output. > > > > So I'm not sure why the cpantesters report had the failure it did. Is > > something different in ActivePerl and/or the PPM dmake?
> > I forgot to mention its only on x64 GCC Win32 Perl. So try a 64 bit > ActivePerl with dmake/GCC, probably AP 5.16 is the best bet since IDK > what AS did in 5.18 regarding their dmake (they switched to GCC from > VC, so maybe they use a different branch/resynced their dmake to > somewhere). 32 bit, GCC, Win32::API doesn't use an assembler app, so > that is why nothing failed for you.
Ok, I can now reproduce the bug using MinGW-w64's **x64** gcc + dmake-4.12-20090907-SHAY to build perl and Win32-API. And the good news is that 4.12.2-2014-03-29-SHAY fixes it (see below). So now it's just a matter of getting the new build up onto CPAN. Hopefully Andreas can help me sort that out soon. C:\Dev\Temp\Win32-API-0.76_03>perl Makefile.PL Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Win32::API::Callback Writing MYMETA.yml and MYMETA.json Generating a dmake-style Makefile Writing Makefile for Win32::API Writing MYMETA.yml and MYMETA.json C:\Dev\Temp\Win32-API-0.76_03>dmake -V dmake - Version 4.12-20090907-SHAY (Windows / MS Visual C++) Copyright (c) 1990,...,1997 by WTI Corp. Default Configuration: MAXLINELENGTH := 32766 MAXPROCESSLIMIT := 64 .IMPORT .IGNORE: DMAKEROOT .MAKEFILES : makefile.mk makefile .SOURCE : .NULL DMAKEROOT *= $(ABSMAKECMD:d)startup MAKESTARTUP := $(DMAKEROOT)\startup.mk Please read the NEWS file for the latest release notes. C:\Dev\Temp\Win32-API-0.76_03>dmake cp Test.pm blib\lib\Win32/API/Test.pm cp Type.pm blib\lib\Win32/API/Type.pm cp Struct.pm blib\lib\Win32/API/Struct.pm cp IATPatch.pod blib\lib\Win32/API/Callback/IATPatch.pod cp Callback.pm blib\lib\Win32/API/Callback.pm cp API.pm blib\lib\Win32/API.pm Running Mkbootstrap for Win32::API::Callback () C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Callback.bs C:\perl\bin\perl.exe C:\perl\lib\ExtUtils\xsubpp -typemap C:\perl\lib\ExtUtils\ typemap Callback.xs > Callback.xsc && C:\perl\bin\perl.exe -MExtUtils::Command -e mv -- Callback.xsc Callback.c gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -D PERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms -bitfields -s -O2 -DVERSION=\"0.76_03\" -DXS_VERSION=\"0.76_03\" "-IC:\perl\lib\CORE" Callback.c C:\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::API::Callback\", 'DLBASE' => 'Callback', 'D L_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def Callback.def --output-exp dll.exp g++ -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -Wl,--base-file -Wl,dll .base -mdll -s -L"c:\perl\lib\CORE" -L"C:\Dev\Software\MinGW-w64-x64\lib" Callba ck.o C:\perl\lib\CORE\libperl519.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwi nspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws 2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp dlltool --def Callback.def --base-file dll.base --output-exp dll.exp g++ -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -mdll -s -L"c:\perl\lib \CORE" -L"C:\Dev\Software\MinGW-w64-x64\lib" Callback.o C:\perl\lib\CORE\libpe rl519.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 ..\blib\arch\auto\Win32 \API\Callback\Callback.dll Running Mkbootstrap for Win32::API () C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 API.bs C:\perl\bin\perl.exe C:\perl\lib\ExtUtils\xsubpp -nolinenumbers -typemap C:\pe rl\lib\ExtUtils\typemap -typemap typemap API.xs > API.xsc && C:\perl\bin\perl.e xe -MExtUtils::Command -e mv -- API.xsc API.c gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -D PERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms -bitfields -s -O2 -DVERSION=\"0.76_03\" -DXS_VERSION=\"0.76_03\" "-IC:\perl\lib\CORE" API.c In file included from API.c:267:0: Call.c: In function 'XS_Win32__API_ImportCall': Call.c:219:20: warning: cast to pointer from integer of different size [-Wint-to -pointer-cast] masm call_asm_x64_gnu.s -o call_asm_x64_gnu.o 'masm' is not recognized as an internal or external command, operable program or batch file. dmake: Error code 129, while making 'call_asm_x64_gnu.o' C:\Dev\Temp\Win32-API-0.76_03>dmake -V dmake - Version 4.12.2-20140329-SHAY (Windows / MS Visual C++) Copyright (c) 1990,...,1997 by WTI Corp. Default Configuration: MAXLINELENGTH := 32766 MAXPROCESSLIMIT := 64 .IMPORT .IGNORE: DMAKEROOT .MAKEFILES : makefile.mk makefile .SOURCE : .NULL DMAKEROOT *= $(ABSMAKECMD:d)startup MAKESTARTUP := $(DMAKEROOT)\startup.mk Please read the NEWS file for the latest release notes. C:\Dev\Temp\Win32-API-0.76_03>dmake as call_asm_x64_gnu.s -o call_asm_x64_gnu.o C:\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::API\", 'DLBASE' => 'API', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def API.def --output-exp dll.exp g++ -o blib\arch\auto\Win32\API\API.dll -Wl,--base-file -Wl,dll.base -mdll -s -L "c:\perl\lib\CORE" -L"C:\Dev\Software\MinGW-w64-x64\lib" API.o call_asm_x64_gnu. o C:\perl\lib\CORE\libperl519.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinsp ool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_3 2 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp dlltool --def API.def --base-file dll.base --output-exp dll.exp g++ -o blib\arch\auto\Win32\API\API.dll -mdll -s -L"c:\perl\lib\CORE" -L"C:\Dev\ Software\MinGW-w64-x64\lib" API.o call_asm_x64_gnu.o C:\perl\lib\CORE\libperl5 19.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -ls hell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lo dbc32 -lodbccp32 -lcomctl32 dll.exp C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Win32\AP I\API.dll
On Sat Mar 29 18:37:18 2014, SHAY wrote: Show quoted text
> So now it's just a matter of getting the new build up onto CPAN. > Hopefully Andreas can help me sort that out soon.
I've raised an issue on PAUSE's GitHub issue tracker for this: https://github.com/andk/pause/issues/110 As someone has pointed out there, the upload is actually on metacpan.org: https://metacpan.org/release/SHAY/dmake-4.12.2-20140329-SHAY It doesn't come up in metacpan.org search results, though, and in fact search.cpan.org has the same problem -- search doesn't find it, but it is there!: http://www.cpan.org/authors/id/S/SH/SHAY/
On Tue Apr 01 08:42:02 2014, SHAY wrote: Show quoted text
> On Sat Mar 29 18:37:18 2014, SHAY wrote:
> > So now it's just a matter of getting the new build up onto CPAN. > > Hopefully Andreas can help me sort that out soon.
> > I've raised an issue on PAUSE's GitHub issue tracker for this: > https://github.com/andk/pause/issues/110 > > As someone has pointed out there, the upload is actually on > metacpan.org: > https://metacpan.org/release/SHAY/dmake-4.12.2-20140329-SHAY > > It doesn't come up in metacpan.org search results, though, and in fact > search.cpan.org has the same problem -- search doesn't find it, but it > is there!: > http://www.cpan.org/authors/id/S/SH/SHAY/
At the suggestion of others on that github issue, I've now uploaded a new version which claims the "dmake" name (via the META.yml file) so that it gets indexed, and changed the version number to a CPAN::Meta::Spec-compliant number, namely 4.12.2.2 to indicate that it's my second build of 4.12.2 (which is the kind of numbering used by Strawberry Perl amongst many others). This version now shows up in searches on both search.cpan.org and metacpan.org.