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.