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