On Mon, 2003-04-21 at 21:54, Adam Lackorzynski wrote:> Hi,
>
> I'm trying to install dovecot-0.99.9-test6 with gcc-3.2.2 under AIX
(4.3.3) and
> found some problems.
>
> First, I need to define _XOPEN_SOURCE_EXTENDED to 1 in src/lib/fdpass.c
> and src/auth/mycrypt.c or undefine it to compile successfully.
..> When I undefine the _XOPEN_SOURCE_EXTENDEDs without modifying the
> original _XOPEN_SOURCE defines, it seems to come further:
I guess leaving it 1 for mycrypt.c is fine. Does AIX have some "AIX"
macro defined? So I could change fdpass.c to have:
#ifndef AIX
# define _XOPEN_SOURCE_EXTENDED /* for Tru64, breaks AIX */
#endif
> imap(xxx): Apr 21 18:24:23 Panic: file mail-index-data.c: line 439
(mail_index_data_append): assertion failed: ((size & (MEM_ALIGN_SIZE-1)) ==
0)
Hmm.. This is quite likely because struct mail_index_data_record_header
isn't padded to take 8 bytes with 32bit off_t. Has all systems until now
really had 64bit off_t? This should fix it:
Index: mail-index.h
==================================================================RCS file:
/home/cvs/dovecot/src/lib-index/mail-index.h,v
retrieving revision 1.73
diff -u -r1.73 mail-index.h
--- mail-index.h 21 Apr 2003 13:42:00 -0000 1.73
+++ mail-index.h 21 Apr 2003 19:58:55 -0000
@@ -167,6 +167,7 @@
unsigned int data_size; /* including this header */
time_t internal_date;
+ time_t filler;
uoff_t virtual_size;
uoff_t header_size;
But I'm not sure if I want to commit this change. Maybe some systems
have added the padding elsewhere? Changing the location could break
things. After next release I'll break the index files anyway, I think
I'll leave this fix until then.