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
