Skip Menu |

This queue is for tickets about the version CPAN distribution.

Report information
The Basics
Id: 20752
Status: resolved
Priority: 0/
Queue: version

People
Owner: Nobody in particular
Requestors: rbellamy [...] pteradigm.com
Cc:
AdminCc:

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



Subject: Failed build win32
XP SP2, VS.NET 2003 tool chain (VC++ 7.1 compiler). Locally built perl: v5.8.7 built for MSWin32-x86-multi-thread Works if ExtUtils::CBuilder is installed (as per the automatic test in Makefile.PL, as opposed to the manual test). I'm not enough of a perl hacker to know exactly how to fix the bug. ERROR================================= Show quoted text
cpan> install version
CPAN: Storable loaded ok Going to read \.cpan\Metadata Database was generated on Fri, 28 Jul 2006 18:28:51 GMT Running install for module version Running make for J/JP/JPEACOCK/version-0.661.tar.gz CPAN: Digest::SHA loaded ok CPAN: Module::Signature security checks disabled because Module::Signature not installed. Please consider installing the Module::Signature module. You may also need to be able to connect over the Internet to the public keyservers like pgp.mit.edu (port 11371). CPAN: Compress::Zlib loaded ok Checksum for \.cpan\sources\authors\id\J\JP\JPEACOCK\version- 0.661.tar.gz ok Scanning cache \.cpan\build for sizes version-0.661/ version-0.661/t/ version-0.661/t/02derived.t version-0.661/t/coretests.pm version-0.661/t/03require.t version-0.661/t/01base.t version-0.661/lib/ version-0.661/lib/version.pod version-0.661/lib/version/ version-0.661/lib/version/typemap version-0.661/lib/version.pm version-0.661/vperl/ version-0.661/vperl/vpp.pm version-0.661/vutil/ version-0.661/vutil/lib/ version-0.661/vutil/lib/version/ version-0.661/vutil/lib/version/vxs.pm version-0.661/vutil/ppport.h version-0.661/vutil/Makefile.PLz version-0.661/vutil/vxs.xs version-0.661/vutil/vutil.c version-0.661/vutil/vutil.h version-0.661/README version-0.661/Changes version-0.661/Build.PL version-0.661/Makefile.PL version-0.661/META.yml version-0.661/MANIFEST Removing previously used \.cpan\build\version-0.661 CPAN.pm: Going to build J/JP/JPEACOCK/version-0.661.tar.gz Testing if you have a C compiler Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86 Copyright (C) Microsoft Corporation 1984-2002. All rights reserved. test.c Microsoft (R) Incremental Linker Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. /out:test.exe /out:test.obj test.obj LINK : fatal error LNK1149: output filename matches input filename 'C:\.cpan\build\version-0.661\test.obj' I cannot determine if you have a C compiler so I will install a perl-only implementation You can force installation of the XS version with perl Makefile.PL --xs Checking if your kit is complete... Looks good Writing Makefile for version CPAN: YAML loaded ok Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/version.pm blib\lib/version.pm cp vperl/vpp.pm blib\lib/version/vpp.pm Running Mkbootstrap for version () C:\perl\bin\perl.exe -MExtUtils::Command -e chmod 644 version.bs C:\perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists ('NAME'=>\"version\", 'DLBASE' => 'version', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\version\version.dll -dll -nologo - nodefaultlib -debug -opt:ref,icf -libpath:"c:\perl\lib\CORE" - machine:x86 version.obj C:\perl\lib\CORE\perl58.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:version.def LINK : fatal error LNK1181: cannot open input file 'version.obj' NMAKE : fatal error U1077: 'link' : return code '0x49d' Stop. C:\PROGRA~1\MICROS~2.NET\VC7\BIN\NMAKE.EXE -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible Failed during this command: JPEACOCK/version-0.661.tar.gz : make NO Show quoted text
cpan>
ERROR=================================
Subject: Re: [rt.cpan.org #20752] Failed build win32
Date: Sat, 29 Jul 2006 18:48:29 -0400
To: bug-version [...] rt.cpan.org
From: John Peacock <jpeacock [...] rowman.com>
G. Richard Bellamy via RT wrote: Show quoted text
> XP SP2, VS.NET 2003 tool chain (VC++ 7.1 compiler). > Locally built perl: v5.8.7 built for MSWin32-x86-multi-thread > > Works if ExtUtils::CBuilder is installed (as per the automatic test in > Makefile.PL, as opposed to the manual test). > > I'm not enough of a perl hacker to know exactly how to fix the bug.
It's not a Perl problem, /per se/, it is a Microsoft's compiler automatically tries to create an executable (i.e. calls the linker), without being asked to do that. Show quoted text
> Testing if you have a C compiler > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for > 80x86 > Copyright (C) Microsoft Corporation 1984-2002. All rights reserved. > > test.c > Microsoft (R) Incremental Linker Version 7.10.3077 > Copyright (C) Microsoft Corporation. All rights reserved. > > /out:test.exe > /out:test.obj > test.obj > LINK : fatal error LNK1149: output filename matches input > filename 'C:\.cpan\build\version-0.661\test.obj'
I'll have to figure out the commanline option to compile only and not link. John -- John Peacock Director of Information Research and Technology Rowman & Littlefield Publishing Group 4501 Forbes Blvd Suite H Lanham, MD 20706 301-459-3366 x.5010 fax 301-429-5747
Forgot to close this. I resolved this issue with version-0.662: Minor changes in 0.662 - 2006-07-30 ===================================== Special "Microsoft Visual C is Stupid" release. Force the MSVC compiler to act rationally and not call the linker when not explicitely asked during the "manual search for a C compiler" phase of the compatibility Makefile.PL. Also, make sure that Makefile.PL creates manified-POD's (like Build.PL already does automatically). For an added bonus, augment the Makefile.PL to generate the Changes file automatically (again, to match what Build.PL already does), since Module::Release prefers to use Makefile.PL instead of Build.PL (something I may change). John