Content-Type: text/plain; charset=UTF-8 Content-Length: 3736 setenv /x86 doesn't help - still the same. I've even tried setenv /x64 (along with setting other x64 changes) - again the same error emerge. Here's the output of the "set" command (attached set_output.txt). I've tried to manually run def-check.pl and here's the output : c:\Users\User\Downloads\krb5\src>cd include c:\Users\User\Downloads\krb5\src\include>perl -w .\../util/def-check.pl private- and-public-decls .\../lib/krb5_32.def _error_table' at .\../util/def-check.pl line 175, line 7896. If I chnage command to use absolute paths, still the same output. I accidentally found --with-system-et param in the official install documentation, not sure if this is somehow related to this problem. Hmm, 'et' stands for error_table, but I'm not sure how to enable/disable this param. On Wed, Nov 26, 2014 at 5:57 AM, Benjamin Kaduk wrote: > 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 > -- Bratislav Stojanovic, M.Sc.