Thanks to Jan, we now have initdb hopefully working on all platforms. 
Seems there was some single-key dependency in the catalog cache code
that I never found.

I have just fixed the vacuum problem, so I can now vacuum the regression
database without error.  The problem there was that the vacuum code was
getting the pg_index tuple for each relation it was vacuuming from the
system cache, and just keeping the pointer while it did the vacuum.  My
megapatch change was to find the heap tuple and use that, but I was
unlocking the tuple.  I tried making a copy of the cache tuple inside
the function while it was used, then pfree it.  The code was later using
that pointer outside that function.  I just removed the pfree so the
tuple is free'ed at the end of the transaction.  (Vadim, memory
allocated in vc_mkindesc() isn't part of some global vacuum memory
context that doesn't get free'ed, is it?)

The problem where fmgr.h was in src/include had already been identified.

So, looks like all the strange errors I introduced with my megapatch
hopefully are gone.  Please tell me if you have having any more
problems.

Sorry to have broken so much.

-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

Fri, 28 Aug 1998 00:58:26 -0400 (EDT)
Bruce Momjian <maillist@candle.pha.pa.us>
initdb/vacuum fixes