Kerberos, where art though kerberos? - (krb5.h goes awol)

Kerberos gone missing.

More Articles

Clean up Spilled Tar.

The case of the missing errors.

Mysql to Postgres migration tool.

When compiling software on RH 9 you are bound to run into a heap of error messages about a missing errno. When you get over that problem you are certain to run into another problem if the application uses ssl

That has to do with kerberos headers being placed at /usr/kerberos/include/ instead of being placed at /usr/include/kerberos/. The messages you see will be somewhat similar to the following:


	In file included from /usr/include/openssl/ssl.h:179,
					from qmail-remote.c:36:
	/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
	In file included from /usr/include/openssl/ssl.h:179,
					from qmail-remote.c:36:
	/usr/include/openssl/kssl.h:132: parse error before "krb5_enctype"
	/usr/include/openssl/kssl.h:134: parse error before "FAR"
	/usr/include/openssl/kssl.h:135: parse error before '}' token
	/usr/include/openssl/kssl.h:147: parse error before "kssl_ctx_setstring"
	/usr/include/openssl/kssl.h:147: parse error before '*' token
	/usr/include/openssl/kssl.h:148: parse error before '*' token
	/usr/include/openssl/kssl.h:149: parse error before '*' token
	/usr/include/openssl/kssl.h:149: parse error before '*' token
	/usr/include/openssl/kssl.h:150: parse error before '*' token
	/usr/include/openssl/kssl.h:151: parse error before "kssl_ctx_setprinc"

Kerberos

In Greek mythology, Kerberos, also called Cerberus, is the three-headed dog that guards the entrance to Hades.

Kerberos is also a authentication protocol based on the key distribution model of Needham and Schroeder.

This particular set of errors occurred when attempting to compile qmail. you can easily overcome this issue by adding /usr/kerberos/include into the headers path. The simplest way being to insert

-I /usr/include/kerberos/

into your makefile. You can also pass it in as an extra header path to your configure script if one is available.