Compiling krb5.1.8.1 for windows

Ruurd Beerstra ruurdb at
Mon May 3 15:01:51 EDT 2010

I'm author of IVT, a VT220 emulator for Windows that can do Kerberized
telnet, too (see for details).
I've kept reasonably up-to-date with new MIT releases of Kerberos,
downloading, compiling and linking my application against MIT code ever
since 2003.
Starting with version 1.7 that stopped being easy, I got a number of errors
in the make process.
Fixing one led to other problems, and I decided to wait a bit until someone
else fixed it for me (lazy, I know).
I downloaded 1.8.1 today and attempted to build the Windows DLLs once more.
I still run into the same problems.
Obviously, no one has actually tested this Windows build process.
After unpacking and doing "nmake -f prep-windows" (which works,
or at least gives no immediate errors), I do:
Y:\krb5-1.8.1\src>nmake NODEBUG=1
Microsoft (R) Program Maintenance Utility   Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
Output going into obj\i386\rel
        cl -Fe.\\obj\i386\rel\wconfig.exe -Fo.\\obj\i386\rel\wconfig.obj
wconfig.c  /MANIFEST
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for
Copyright (C) Microsoft Corporation.  All rights reserved.
cl : Command line warning D9002 : ignoring unknown option '/MANIFEST'
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.
        if exist .\\obj\i386\rel\wconfig.exe.manifest mt.exe -manifest
        .\\obj\i386\rel\wconfig  config < > Makefile
        .\\obj\i386\rel\wconfig  config < appl\gss-sample\ >
NMAKE : fatal error U1073: don't know how to make
The first unknown option (/MANIFEST) is just ignored (there is no /link
preceding it). wconfig.exe builds OK, so I ignore it, too.
The second is caused by FTP no longer being part of the MIT tree (it has
been moved to the appl package).
So, I take out FTP of the (making, cleaning, prepping), and try
NMAKE : fatal error U1073: don't know how to make
Caused by the prep-windows step NOT substituting @CRYPTO_IMPL@ by the chosen
implementation (like "builtin").
When that is fixed (adding a substitute to the SED command in there), I get:
        .\\obj\i386\rel\wconfig  config <
lib\crypto\builtin\hash_provider\ >
NMAKE : fatal error U1073: don't know how to make
That whole directory no longer exists. Rule removed. Next:
NMAKE : fatal error U1073: don't know how to make
Forgotten rule in the makefile. Added. Same for rand2key.
arcfour uses @CRYPTO_IMPL@ but is in "builtin".
NMAKE : fatal error U1073: don't know how to make
Should read builtin\md5 instead of md5\builtin
After that, it finally groks the makefile and starts compiling. For about 10
        perl -w .\../util/ private-and-public-decls
 extern void initialize_krb5_error_table
' at .\../util/ line 175, <GEN0> line 2855.
NMAKE : fatal error U1077: 'perl' : return code '0x9'
There is a check in line 175 of that perl script. I could not quite figure
out what it tries to do there, commented it out and tried again.
It starts building again, but now:
Making in crypto\krb
        nmake -
NMAKE : fatal error U1064: MAKEFILE not found and no target specified
because lib\crypto\krb has a but no Makefile (missing rule in
This is where I give up - this whole windows make-process is badly broken.
Can I assume someone reading this mailing list can actually fix this?
Anwers appreciated to ruurdb at

More information about the krbdev mailing list