Skip Menu |

This queue is for tickets about the Win32-API CPAN distribution.

Report information
The Basics
Id: 23703
Status: resolved
Worked: 2.5 hours (150 min)
Priority: 0/
Queue: Win32-API

People
Owner: cosimo [...] cpan.org
Requestors: jdhedden [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: (no value)
Fixed in: (no value)



Subject: Build failure (v0.44) ActivePerl + gcc
Show quoted text
> nmake
Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. cp Type.pm blib\lib\Win32/API/Type.pm cp Callback.pm blib\lib\Win32/API/Callback.pm cp Struct.pm blib\lib\Win32/API/Struct.pm cp API.pm blib\lib\Win32/API.pm NMAKE -f Makefile all -nologo 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 -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERSION=\"0.44\" -DXS_VERSION=\"0.44\" "-IC:\Perl\lib\CORE" Callback.c Running Mkbootstrap for Win32::API::Callback () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Callback.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Win32::API::Callback\", 'DLBASE' => 'Callback', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" Set up gcc environment - 3.4.2 (mingw-special) dlltool --def Callback.def --output-exp dll.exp gcc -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl\lib\CORE" Callback.o -Wl,--image-base,0x21000000 C:\Perl\lib\CORE\perl58.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp dlltool --def Callback.def --base-file dll.base --output-exp dll.exp gcc -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -mdll -L"C:\Perl\lib\CORE" Callback.o -Wl,--image-base,0x21000000 C:\Perl\lib\CORE\perl58.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 ..\blib\arch\auto\Win32\API\Callback\Callback.dll No root path(s) specified at C:/Perl/lib/ExtUtils/Command.pm line 105 C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Callback.bs ..\blib\arch\auto\Win32\API\Callback\Callback.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 ..\blib\arch\auto\Win32\API\Callback\Callback.bs cd .. C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib\ExtUtils\typemap -typemap typemap API.xs > API.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv API.xsc API.c gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERSION=\"0.44\" -DXS_VERSION=\"0.44\" "-IC:\Perl\lib\CORE" API.c API.xs:522:36: macro "ASM_LOAD_EAX" requires 2 arguments, but only 1 given API.xs: In function `XS_Win32__API_Call': API.xs:522: error: `ASM_LOAD_EAX' undeclared (first use in this function) API.xs:522: error: (Each undeclared identifier is reported only once API.xs:522: error: for each function it appears in.) API.xs:529:36: macro "ASM_LOAD_EAX" requires 2 arguments, but only 1 given API.xs:563:36: macro "ASM_LOAD_EAX" requires 2 arguments, but only 1 given NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' : return code '0x1' Stop. Show quoted text
> gcc --version
gcc (GCC) 3.4.2 (mingw-special) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Show quoted text
> perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=MSWin32, osvers=5.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing', optimize='-O2', cppflags='-DWIN32' ccversion='12.00.8804', gccversion='3.4.2 (mingw-special)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86' libpth=\lib libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -L"C:\Perl\lib\CORE"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 819 [267479] Iin_load_module moved for compatibility with build 806 PerlEx support in CGI::Carp Less verbose ExtUtils::Install and Pod::Find Patch for CAN-2005-0448 from Debian with modifications Rearrange @INC so that 'site' is searched before 'perl' Partly reverted 24733 to preserve binary compatibility 28671 Define PERL_NO_DEV_RANDOM on Windows 28376 Add error checks after execing PL_cshname or PL_sh_path 28305 Pod::Html should not convert "foo" into ``foo'' 27736 Make perl_fini() run with Sun WorkShop compiler 27619 Bug in Term::ReadKey being triggered by a bug in Term::ReadLine 27549 Move DynaLoader.o into libperl.so 27528 win32_pclose() error exit doesn't unlock mutex 27527 win32_async_check() can loop indefinitely 27515 ignore directories when searching @INC 27359 Fix -d:Foo=bar syntax 27210 Fix quote typo in c2ph 27203 Allow compiling swigged C++ code 27200 Make stat() on Windows handle trailing slashes correctly 27194 Get perl_fini() running on HP-UX again 27133 Initialise lastparen in the regexp structure 27034 Avoid "Prototype mismatch" warnings with autouse 26970 Make Passive mode the default for Net::FTP 26921 Avoid getprotobyname/number calls in IO::Socket::INET 26897,26903 Make common IPPROTO_* constants always available 26670 Make '-s' on the shebang line parse -foo=bar switches 26536 INSTALLSCRIPT versus INSTALLDIRS 26379 Fix alarm() for Windows 2003 26087 Storable 0.1 compatibility 25861 IO::File performace issue 25084 long groups entry could cause memory exhaustion 24699 ICMP_UNREACHABLE handling in Net::Ping Built under MSWin32 Compiled at Aug 29 2006 12:42:41 %ENV: PERL_MM_USE_DEFAULT="1" @INC: C:/Perl/site/lib C:/Perl/lib .
Thank you for reporting. I already saw this problem. In fact, I'm doing a fair mess with these assembler macros. Please have patience. The problem is already solved in v0.45.
Hi Michael, could you please take the time to try my development version of Win32::API (marked as 0.45?). It compiles successfully with MSVC and with Vanilla Perl. Thank you.
Download Win32-API-0.45.tar.gz
application/x-gzip 53k

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #23703] Build failure (v0.44) ActivePerl + gcc
Date: Thu, 30 Nov 2006 04:52:03 -0800 (PST)
To: bug-Win32-API [...] rt.cpan.org
From: "Jerry D. Hedden" <jdhedden [...] yahoo.com>
'nmake' worked, but 'nmake test' failed miserably. Output from each below: E:\cygwin\admin\cpan\build\Win32-API-0.45>nmake Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. cp Type.pm blib\lib\Win32/API/Type.pm cp Callback.pm blib\lib\Win32/API/Callback.pm cp Struct.pm blib\lib\Win32/API/Struct.pm cp API.pm blib\lib\Win32/API.pm NMAKE -f Makefile all -nologo C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib\E xtUtils\typemap Callback.xs > Callback.xsc && C:\Perl\bin\perl.exe -MExtUtils:: Command -e mv Callback.xsc Callback.c gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO _HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE _PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERSI ON=\"0.45\" -DXS_VERSION=\"0.45\" "-IC:\Perl\lib\CORE" Callback.c Running Mkbootstrap for Win32::API::Callback () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Callback.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Wi n32::API::Callback\", 'DLBASE' => 'Callback', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" Set up gcc environment - 3.4.2 (mingw-special) dlltool --def Callback.def --output-exp dll.exp gcc -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl\lib\CORE" Callback.o -Wl,--image-base,0x21000000 C:\Perl\lib\CORE\perl58.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 - ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp dlltool --def Callback.def --base-file dll.base --output-exp dll.exp gcc -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -mdll -L"C:\Per l\lib\CORE" Callback.o -Wl,--image-base,0x21000000 C:\Perl\lib\CORE\perl58.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 - loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 ..\blib\arch\auto\ Win32\API\Callback\Callback.dll No root path(s) specified at C:/Perl/lib/ExtUtils/Command.pm line 105 C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Callback.bs ..\blib\arch\ auto\Win32\API\Callback\Callback.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 ..\blib\arch\auto\ Win32\API\Callback\Callback.bs cd .. C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib\E xtUtils\typemap -typemap typemap API.xs > API.xsc && C:\Perl\bin\perl.exe -MExt Utils::Command -e mv API.xsc API.c gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO _HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE _PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERSI ON=\"0.45\" -DXS_VERSION=\"0.45\" "-IC:\Perl\lib\CORE" API.c Running Mkbootstrap for Win32::API () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 API.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Wi n32::API\", 'DLBASE' => 'API', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' = Show quoted text
> { }, 'DL_VARS' => []);"
Set up gcc environment - 3.4.2 (mingw-special) dlltool --def API.def --output-exp dll.exp gcc -o blib\arch\auto\Win32\API\API.dll -Wl,--base-file -Wl,dll.base -md ll -L"C:\Perl\lib\CORE" API.o -Wl,--image-base,0x253c0000 C:\Perl\lib\CORE\perl 58.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -l ole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lo dbccp32 -lmsvcrt dll.exp dlltool --def API.def --base-file dll.base --output-exp dll.exp gcc -o blib\arch\auto\Win32\API\API.dll -mdll -L"C:\Perl\lib\CORE" API.o -Wl,--image-base,0x253c0000 C:\Perl\lib\CORE\perl58.lib -lkernel32 -luser32 -l gdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 - luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arch\auto\Win 32\API\API.dll No root path(s) specified at C:/Perl/lib/ExtUtils/Command.pm line 105 C:\Perl\bin\perl.exe -MExtUtils::Command -e cp API.bs blib\arch\auto\Win 32\API\API.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arch\auto\Win 32\API\API.bs E:\cygwin\admin\cpan\build\Win32-API-0.45>nmake test Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. NMAKE -f Makefile all -nologo cd .. Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. No configuration specified. Defaulting to API_test - Win32 Release. if not exist ".\Release/" mkdir ".\Release" cl.exe @C:\temp\nma01832. 'cl.exe' is not recognized as an internal or external command, operable program or batch file. NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' : return code '0x1' Stop. NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' : return code '0x2' Stop. Show quoted text
____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com
Hi Jerry (sorry for calling you Michael). Yes, tests now fail due to the particular structure of Win32::API tests. I should work on these. In the meantime, the build and install process works ok, I think. "nmake install" should correctly install Win32::API. In the next versions, I'll try to address differences between MSVC and GCC/MinGW also with tests...
Test suite with GCC environments will be addressed in future versions. For now, I close this ticket. Thanks JD.