Move the declaration extern struct imapopt_s imapopts[]; To the end of the file, after the definition of struct imapopt_s, and everything compiles (nearly) perfectly. Does this qualify as a bug? -Jim On Tue July 18, Jim Schueler wrote: mapopts.h:181: error: array type has incomplete element type make[1]: *** [libconfig.o] Error 1 make[1]: Leaving directory `/home/tqis/src/cyrus-imapd-2.2.12/lib' make: *** [all] Error 1 -- ---- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html