[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Heimdal compilation options



I've successfully compiled and tested heimdal-1.2.1rc1 under Gentoo/x86.

I had problems when trying compilation options: --disable-pk-init and 
--disable-pthreads-support were both braking the compilation.

--disable-pk-init originally lead to wind_ucs2somehing functions 
undefined in libkrb5.so -- that is solved by r23235 and r23238 source 
changes, but after applying them I got hx509 functions undefined in kdc. 
Apparently hx509 library is linked there only when pk-init is requested, 
but is used for other purposes too; the attached 
heimdal-kdc-sans_pkinit.patch seems to solve that.

--disable-pthreads-support caused problems with the internal copy of 
sqlite, because that is always compiled as thead-safe, and so requires 
linking with pthreads. I've tried to patch Heimdal by the attached 
heimdal-system_sqlite.patch to drop the internal sqlite, and locate the 
system installation of sqlite by pkg-config instead. Seems to work (even 
in the combination of thread-safe sqlite and no pthreads support Heimdal).

With best regards
			Honza Macháček
diff -Naur tmp-old/kdc/Makefile.am tmp-new/kdc/Makefile.am
--- kdc/Makefile.am	2008-06-02 14:38:03.000000000 +0000
+++ kdc/Makefile.am	2008-06-03 04:06:19.000000000 +0000
@@ -84,12 +84,10 @@
 	$(LIB_roken) \
 	$(DBLIB) 
 
-if PKINIT
-LIB_pkinit = $(top_builddir)/lib/hx509/libhx509.la
-endif
+LIB_hx509 = $(top_builddir)/lib/hx509/libhx509.la
 
 libkdc_la_LIBADD = \
-	$(LIB_pkinit) \
+	$(LIB_hx509) \
 	$(top_builddir)/lib/hdb/libhdb.la \
 	$(LIB_openldap) \
 	$(top_builddir)/lib/krb5/libkrb5.la \
diff -Naur tmp-old/configure.in tmp-new/configure.in
--- configure.in	2008-06-08 08:06:38.000000000 +0000
+++ configure.in	2008-06-08 08:15:29.000000000 +0000
@@ -104,6 +104,8 @@
 
 KRB_PTHREADS
 
+PKG_CHECK_MODULES([sqlite], [sqlite3])
+
 AC_ARG_ENABLE(dce, 
 	AS_HELP_STRING([--enable-dce],[if you want support for DCE/DFS PAG's]))
 if test "$enable_dce" = yes; then
diff -Naur tmp-old/lib/Makefile.am tmp-new/lib/Makefile.am
--- lib/Makefile.am	2008-06-07 16:53:11.000000000 +0000
+++ lib/Makefile.am	2008-06-07 16:55:58.000000000 +0000
@@ -18,6 +18,6 @@
 dir_hcrypto = hcrypto
 endif
 
-SUBDIRS = roken vers editline $(dir_com_err) sl wind asn1 sqlite \
+SUBDIRS = roken vers editline $(dir_com_err) sl wind asn1 \
 	$(dir_hcrypto) hx509 krb5 ntlm kafs gssapi hdb kadm5 \
 	auth $(dir_45) $(dir_otp) $(dir_dce)
diff -Naur tmp-old/lib/krb5/Makefile.am tmp-new/lib/krb5/Makefile.am
--- lib/krb5/Makefile.am	2008-06-07 16:54:02.000000000 +0000
+++ lib/krb5/Makefile.am	2008-06-08 08:17:00.000000000 +0000
@@ -2,7 +2,7 @@
 
 include $(top_srcdir)/Makefile.am.common
 
-AM_CPPFLAGS += $(INCLUDE_krb4) $(INCLUDE_hcrypto) -I../com_err -I$(srcdir)/../com_err -I$(srcdir)/../sqlite
+AM_CPPFLAGS += $(INCLUDE_krb4) $(INCLUDE_hcrypto) -I../com_err -I$(srcdir)/../com_err $(sqlite_CFLAGS)
 
 bin_PROGRAMS = verify_krb5_conf
 
@@ -53,7 +53,7 @@
 
 libkrb5_la_LIBADD = \
 	$(LIB_pkinit) \
-	../sqlite/libsqlite.la \
+	$(sqlite_LIBS) \
 	$(LIB_com_err) \
 	$(LIB_hcrypto) \
 	$(top_builddir)/lib/asn1/libasn1.la \
diff -Naur tmp-old/lib/krb5/scache.c tmp-new/lib/krb5/scache.c
--- lib/krb5/scache.c	2008-06-07 16:54:30.000000000 +0000
+++ lib/krb5/scache.c	2008-06-07 17:01:43.000000000 +0000
@@ -32,7 +32,7 @@
  */
 
 #include "krb5_locl.h"
-#include "sqlite3.h"
+#include <sqlite3.h>
 
 RCSID("$Id$");