summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2005-11-29 07:38:45 +0000
committerKen Raeburn <raeburn@mit.edu>2005-11-29 07:38:45 +0000
commit52e7daa850554e507f7df50e77041fd67ddbcca1 (patch)
tree6307c328996ae9c44ae8060168ffbd5221e630ae
parent85972c7ca91998906a3852f7343f6b1c74f02066 (diff)
downloadkrb5-52e7daa850554e507f7df50e77041fd67ddbcca1.tar.gz
krb5-52e7daa850554e507f7df50e77041fd67ddbcca1.tar.xz
krb5-52e7daa850554e507f7df50e77041fd67ddbcca1.zip
Tru64 compilation fails after k5-int.h/krb5.h changes
Due to some silliness in db-config.h and the Tru64 system header files, an accidental change in the order of inclusion of certain headers caused the build to fail. With this patch, "make all" succeeds, but "make check" fails partway through; I'm still investigating, and don't know at this point if there are additional compilation problems. * policy_db.h: Include db.h after gssrpc/types.h, to fix compilation on Tru64. ticket: new target_version: 1.4.4 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17515 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/modules/kdb/db2/ChangeLog5
-rw-r--r--src/modules/kdb/db2/policy_db.h15
2 files changed, 19 insertions, 1 deletions
diff --git a/src/modules/kdb/db2/ChangeLog b/src/modules/kdb/db2/ChangeLog
index 0e83bcb901..fe61913f8c 100644
--- a/src/modules/kdb/db2/ChangeLog
+++ b/src/modules/kdb/db2/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-29 Ken Raeburn <raeburn@mit.edu>
+
+ * policy_db.h: Include db.h after gssrpc/types.h, to fix
+ compilation on Tru64.
+
2005-11-17 Ken Raeburn <raeburn@mit.edu>
* policy_db.h: Include errno.h and krb5.h instead of k5-int.h.
diff --git a/src/modules/kdb/db2/policy_db.h b/src/modules/kdb/db2/policy_db.h
index c3c16b9afc..8bbef800b5 100644
--- a/src/modules/kdb/db2/policy_db.h
+++ b/src/modules/kdb/db2/policy_db.h
@@ -14,9 +14,22 @@
#include <errno.h>
#include <krb5.h>
#include <krb5/kdb.h>
-#include <db.h>
+/* Okay, this is a bit obscure. The libdb2 configure script doesn't
+ detect it, but on Tru64 5.1, netinet/in.h causes sys/bittypes.h to
+ be included, and that has a typedef for u_int32_t. Because the
+ configure script doesn't detect it, it causes db-config.h to have a
+ #define for u_int32_t, so including db.h and then netinet/in.h
+ causes compilation to fail.
+
+ Since gssrpc/types.h includes netinet/in.h, including that first
+ will cause the typedef to be seen before the macro definition,
+ which still isn't quite right, but is close enough for now.
+
+ A better fix might be for db.h to include netinet/in.h if that's
+ where we find u_int32_t. */
#include <gssrpc/types.h>
#include <gssrpc/xdr.h>
+#include <db.h>
#include "adb_err.h"
#include <com_err.h>