[4443] in Moira

home help back first fref pref prev next nref lref last post

Moira patches for supporting krb5 1.4.1, OpenAFS 1.4.1, Oracle 10g

daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Thu May 11 16:53:57 2006

Message-Id: <200605112051.k4BKpv9w018915@brad-majors.mit.edu>
To: moiradev@MIT.EDU
Date: Thu, 11 May 2006 16:51:57 -0400
From: Garry Zacheiss <zacheiss@MIT.EDU>

These are all the patches necessary for moira to build cleanly on a 9.4
machine against Oracle 10.2.0.2, MIT krb5 1.4.1, and OpenAFS 1.4.1.  I
alsoc leaned up an autoconf warning in the configure.in file.

The most interesting change is the added definition of __sparc in the
Pro*C defines.  This is because the Solaris 10 header files break if you
don't have __sparc or __sparcv9 defined (rlim_t, lloff_t, and a bunch of
other typedefs don't happen) and Pro*C doesn't define it (although it
does define sparc).

For the time being, I am building all of the moira server binaries as 32
bit apps, not 64bit, because compiling them as 64bit apps has no obvious
benefit and feels like tempting fate.

Garry

Index: configure.in
===================================================================
RCS file: /mit/moiradev/repository/moira/configure.in,v
retrieving revision 1.43
diff -u -r1.43 configure.in
--- configure.in	20 Jul 2004 08:10:17 -0000	1.43
+++ configure.in	11 May 2006 20:33:43 -0000
@@ -102,11 +102,10 @@
      fi
      COMPILE_ET=compile_et],
     [AC_MSG_RESULT(util/et)
-     COM_ERR_SUBDIR=util/et;
      MR_INCLUDE(`pwd`/util/et)
      MR_LIBS(`pwd`/util/et)
      COMPILE_ET=`pwd`/util/et/compile_et
-     AC_CONFIG_SUBDIRS($COM_ERR_SUBDIR)])
+     AC_CONFIG_SUBDIRS(util/et)])
 AC_SUBST(COM_ERR_SUBDIR)
 AC_SUBST(COMPILE_ET)
 
@@ -149,7 +148,7 @@
 	REG_SVR_INCLUDES=-I$krb5/include
 	REG_SVR_LIBS=-L$krb5/lib
     fi
-    REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -ldyn -lkrb4 -ldes425 -lkrb5 -l${crypto} -lresolv"
+    REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -lkrb4 -ldes425 -lkrb5 -l${crypto} -lresolv"
 else
     REG_SVR_DEFS=-DKRB4
     REG_SVR_LIBS=-lkadm
@@ -247,15 +246,21 @@
 	2.2.4.0.0)
 	    SQL_LIBS="-L$oracle/lib -lclntsh -lxa -lsql -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric   -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 `cat $oracle/rdbms/lib/sysliblist` -lm -lthread"
 	    ;;
-	*)
+	8.1.7.4.0)
 	    SQL_LIBS="-L$oracle/lib -lclntsh `cat $oracle/lib/sysliblist` -R$oracle/lib -laio -lm -lthread"
 	    ;;
+	10.2.0.2.0)
+	    SQL_LIBS="-L$oracle/lib32 -lclntsh `cat $oracle/lib32/ldflags` `cat $oracle/lib32/sysliblist` -R$oracle/lib32 -laio -lposix4 -lm -lthread"
+	    ;;
+	*)
+	    AC_MSG_ERROR(Unsupported Oracle release)
+	    ;;
     esac
     SVRSUBDIRS='$(SVRDIRS)'
     SERVER_OUTPUT_FILES="db/Makefile server/Makefile backup/Makefile dbck/Makefile dcm/Makefile gen/Makefile incremental/Makefile incremental/mailman/Makefile reg_svr/Makefile regtape/Makefile"
     PRO_C=$oracle/bin/proc
     PRO_C_OPTS=CODE=ANSI_C
-    PRO_C_DEFS="DEFINE=_PROC_ $PRO_C_DEFS"
+    PRO_C_DEFS="DEFINE=_PROC_ DEFINE=__sparc $PRO_C_DEFS"
 fi
 AC_SUBST(PRO_C)
 AC_SUBST(PRO_C_DEFS)
@@ -327,7 +332,7 @@
     fi
     AC_CHECK_LIB(sys, pioctl, :,
 		 [AC_MSG_ERROR(AFS libraries not found)],
-		 $AFS_LIBS -lrx -llwp -lsys)
+		 $AFS_LIBS -lrx -llwp -lsys -lafsutil)
     MR_DEFINE(HAVE_AFS)
 
     AFS_SUBDIRS="afs"
Index: afssync/ubik.c
===================================================================
RCS file: /mit/moiradev/repository/moira/afssync/ubik.c,v
retrieving revision 1.5
diff -u -r1.5 ubik.c
--- afssync/ubik.c	30 Apr 2002 01:59:32 -0000	1.5
+++ afssync/ubik.c	11 May 2006 20:33:43 -0000
@@ -6,11 +6,29 @@
 #include <lock.h>
 #define UBIK_INTERNALS
 #include <stds.h>
-#include <ubik.h>
 #include <rx/xdr.h>
 #include "print.h"
 #include "prserver.h"
 
+/* Stolen bits of ubik.h. */
+
+struct ubik_version {
+  afs_int32 epoch;
+  afs_int32 counter;
+};
+typedef struct ubik_version ubik_version;
+
+/* ubik header file structure */
+struct ubik_hdr {
+  afs_int32 magic;            /* magic number */
+  short pad1;                 /* some 0-initd padding */
+  short size;                 /* header allocation size */
+  struct ubik_version version;        /* the version for this file */
+};
+
+#define HDRSIZE             64  /* bytes of header per dbfile */
+#define UBIK_MAGIC      0x354545
+
 extern int dbase_fd;
 struct ubik_dbase *dbase;
 

home help back first fref pref prev next nref lref last post