On 2017-02-14 16:56, Jeffrey Altman wrote: > On 2/14/2017 8:14 AM, Kostas Liakakis wrote: >> Well, I gave up on it :) >> Instead commented the #include in cm_nls.c and added a typedef for >> _NORM_FORM enum copied out of the MS documentation. > The NORM_FORM enum is defined in the Windows SDK. The normalization.h > include is protected by a conditional > > #if (_WIN32_WINNT < 0x0600) > /* This is part of the Microsoft Internationalized Domain Name > Mitigation APIs. */ > # include <normalization.h> > #endif > > which matches the conditional in the SDK headers: > > #if (WINVER >= 0x0600) > // > // Normalization forms > // > > typedef enum _NORM_FORM { > ... > } NORM_FORM;
What version of the OpenAFS source tree and Windows Platform SDK are you quotting from? Even in 1.8.0pre1 tarball the normalize.h inclusion in cm_nls.c is unconditional and in Platform SDK 6.0a a quick search comes back empty for NORM_FORM. I started with a "known good" source tree and tried to replicate a known good build environment as suggested in the guide I was pointed at as a starting point. So I picked 1.7.32 and tried to match all the toolchain versions as much as possible. Should I have cloned the git tree instead? And maybe, since you probably have a solid and current build environment already setup, could you please share your tool and SDK versions so I can match them instead of trying to solve problems already dealt with? >> Amazingingly, this was enough for the build to proceed and end in >> success. > The cm_nls.c uses run-time loading of the functions so that the code can > be compiled for versions of Windows that do not ship with the > NormalizeString() and IsNormalizedString() functions. > > The IDN is required when building for pre-Vista because you have > to install the normaliz.dll library as part of the installer. > >> Well, at least my openafs/dest directory is now populated and I >> could at least run "pts help" and "fs help". > Neither pts nor fs use the normalization routines directly. Oh, I see. But anyway, what I wanted to say is that in the end I did manage to get executables that execute... to some extent at least. -K.
smime.p7s
Description: S/MIME Cryptographic Signature