Return-Path: Received: from pch.mit.edu (PCH.MIT.EDU [18.7.21.90]) by krbdev.mit.edu (Postfix) with ESMTP id 37DEC3FB34; Wed, 26 Nov 2014 02:19:25 -0500 (EST) Received: from pch.mit.edu (pch.mit.edu [127.0.0.1]) by pch.mit.edu (8.13.6/8.12.8) with ESMTP id sAQ7JOru008375; Wed, 26 Nov 2014 02:19:24 -0500 Received: from mailhub-auth-2.mit.edu (mailhub-auth-2.mit.edu [18.7.62.36]) by pch.mit.edu (8.13.6/8.12.8) with ESMTP id sAQ4w1oF003163 for ; Tue, 25 Nov 2014 23:58:01 -0500 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id sAQ4w18n010176; Tue, 25 Nov 2014 23:58:01 -0500 Received: from multics.mit.edu (system-low-sipb.mit.edu [18.187.2.37]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id sAQ4vxZu032649 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 25 Nov 2014 23:58:00 -0500 Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id sAQ4vw8X010298; Tue, 25 Nov 2014 23:57:58 -0500 (EST) Date: Tue, 25 Nov 2014 23:57:58 -0500 (EST) From: Benjamin Kaduk To: Bratislav Stojanovic Subject: Re: [krb5] Unable to build under Windows (#235) In-Reply-To: Message-ID: References: User-Agent: Alpine 1.10 (GSO 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Mailman-Approved-At: Wed, 26 Nov 2014 02:19:22 -0500 CC: krb5-bugs@MIT.EDU X-Beenthere: krb5-bugs-incoming@mailman.mit.edu X-Mailman-Version: 2.1.6 Precedence: list Sender: krb5-bugs-incoming-bounces@PCH.mit.edu Errors-To: krb5-bugs-incoming-bounces@PCH.mit.edu X-RT-Original-Encoding: us-ascii Content-Length: 2696 On Tue, 25 Nov 2014, Bratislav Stojanovic wrote: > Thanks for answering, but I'm still completely clueless. This time I've > wiped out VS2013 and installed VS2010 (Ultimate) and tried > again - still the same. I was pretty clueless for a while, but staring at it for a bit, I have a little bit of a better handle on what the messages mean, at least. Note that the version of Wix is completely irrelevant here; WiX is not used until step 9 when the installer is built. The version of Visual Studio should also be irrelevant, as no actual compiling is going on yet. The only thing that might be relevant is if some details of the environment in the shell are different. > private-and-public- > decls > krb5\krb5.h > k5-int.h > krb5\clpreauth_plugin.h > 1 file(s) copied. > perl -w .\../util/def-check.pl private-and-public-decls > .\../lib/krb5_32.def > *_error_table'* at .\../util/def-check.pl line 175, line 8448. The particular error codes below are not very helpful; the above line is where we're going to get traction. This seems to be the truncation of the output of line 175 of def-check.pl: die "Invalid function name: '$_'" if (!/^[A-Za-z0-9_]+$/); The '' should correspond to the first file being processed, i.e., krb5.h. I am not in front of my test VM right now, but the krb5.h in my Unix build tree has near line 8448 this chunk: 8449 #if !defined(_WIN32) 8450 /* for compatibility with older versions... */ 8451 extern void initialize_krb5_error_table (void) /*@modifies internalState@*/; 8452 #else 8453 #define initialize_krb5_error_table() 8454 #endif Note that the not-_WIN32 case lacks a KRB5_CALLCONV specifier on the declaration, which would cause the quoted perl error. So, I am guessing that _WIN32 is for some reason not defined at some point, and it should be. First, it would be good to manually run the perl script over krb5.h and see if the full output can be obtained. Second, it would be good to check what the environment looks like in your build shell (there's probably no need to paste the full output of 'set', but some parts may be relevant). I will try to look further into where _WIN32 is defined in my (working) build. > *NMAKE : fatal error U1077: 'C:\Strawberry\perl\bin\perl.EXE' : return code > '0x19'* > Stop. > NMAKE : fatal error U1077: 'for' : return code '0x1' > Stop. > [...] > *vs cmd prompt* - tried to use VS command prompt instead of SDK 7.1 cmd - > again the same error With the SDK 7.1 cmd, I might try throwing another 'setenv.exe /x86' invocation in there "just to be sure" -- I thought that setenv was run as part of the startup for the SDK cmd, but could be wrong. -Ben