Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
On Thu, 2008-06-12 at 23:37 -0700, Woonsan Ko wrote: Hi All, I tried to build dovecot-1.1.rc9 on a HP-UX machine, but failed to configure with the following message: configure: error: You don't appear to have C99 compatible vsnprintf() call You're in luck, I just yesterday fixed a lot of problems with HP-UX. My latest changes are in http://dovecot.org/tmp/dovecot-hpux.tar.gz Could you try that and tell me if it compiles and everything works? v1.1.rc10 release is actually just waiting for someone to confirm that the HP-UX changes work.. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
Hi Timo, Thank you very much for quick response. I have just tested with your new package, but they print other errors during `make': 1. `make' after `configure' Error 239: str-find.c, line 17 # A struct/union shall not contain a member with incomplete type. int goodtab[]; ^^^ 2. `make' after `configure CC=/opt/aCC/bin/aCC -AC99' Error 20: mempool-alloconly.c, line 83 # 'number' expected before '.'. MEMBER(v) static_alloconly_pool_vfuncs, ^^ Error 19: mempool-alloconly.c, line 83 # Unexpected ','. MEMBER(v) static_alloconly_pool_vfuncs, ^ Error 19: mempool-alloconly.c, line 86 # Unexpected '.'. MEMBER(datastack_pool) FALSE ^^ Error 186: mempool-alloconly.c, line 83 # Left side of '.' requires a struct This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. The environment here: - uname: HP-UX B.11.23 U ia64 - aCC version: HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003] Kind regards, Woonsan --- On Fri, 6/13/08, Timo Sirainen [EMAIL PROTECTED] wrote: From: Timo Sirainen [EMAIL PROTECTED] Subject: Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call To: [EMAIL PROTECTED] Cc: Dovecot Mailing List dovecot@dovecot.org Date: Friday, June 13, 2008, 3:40 PM On Thu, 2008-06-12 at 23:37 -0700, Woonsan Ko wrote: Hi All, I tried to build dovecot-1.1.rc9 on a HP-UX machine, but failed to configure with the following message: configure: error: You don't appear to have C99 compatible vsnprintf() call You're in luck, I just yesterday fixed a lot of problems with HP-UX. My latest changes are in http://dovecot.org/tmp/dovecot-hpux.tar.gz Could you try that and tell me if it compiles and everything works? v1.1.rc10 release is actually just waiting for someone to confirm that the HP-UX changes work..
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
On Fri, 2008-06-13 at 00:12 -0700, Woonsan Ko wrote: Hi Timo, Thank you very much for quick response. I have just tested with your new package, but they print other errors during `make': 1. `make' after `configure' Error 239: str-find.c, line 17 # A struct/union shall not contain a member with incomplete type. int goodtab[]; ^^^ This is valid C99 code. I don't think I want to change it just to support one rarely used compiler. You could change it to [1] and it should work just as well (same for lib-imap/imap-match.c). 2. `make' after `configure CC=/opt/aCC/bin/aCC -AC99' Error 20: mempool-alloconly.c, line 83 # 'number' expected before '.'. MEMBER(v) static_alloconly_pool_vfuncs, ^^ MEMBER() macro is defined in src/macros.h: /* C99-style struct member definitions */ #if (defined(__STDC__) __STDC_VERSION__ = 199901L) || __GNUC__ 2 # define MEMBER(name) .name = #else # define MEMBER(name) #endif So apparently HP-UX lies that it supports C99 even though it doesn't actually? I could change that #ifdef, but I don't know what would be a good check for HP-UX. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
On Fri, 2008-06-13 at 09:40 +0300, Timo Sirainen wrote: On Thu, 2008-06-12 at 23:37 -0700, Woonsan Ko wrote: Hi All, I tried to build dovecot-1.1.rc9 on a HP-UX machine, but failed to configure with the following message: configure: error: You don't appear to have C99 compatible vsnprintf() call You're in luck, I just yesterday fixed a lot of problems with HP-UX. My latest changes are in http://dovecot.org/tmp/dovecot-hpux.tar.gz Could you try that and tell me if it compiles and everything works? v1.1.rc10 release is actually just waiting for someone to confirm that the HP-UX changes work.. I guess the most important thing I want to know is: What is MODULE_SUFFIX set to in generated Makefiles? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
Hi Timo, Please see comments below. --- On Fri, 6/13/08, Timo Sirainen [EMAIL PROTECTED] wrote: From: Timo Sirainen [EMAIL PROTECTED] Subject: Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call To: [EMAIL PROTECTED] Cc: Dovecot Mailing List dovecot@dovecot.org Date: Friday, June 13, 2008, 4:33 PM On Fri, 2008-06-13 at 00:12 -0700, Woonsan Ko wrote: Hi Timo, Thank you very much for quick response. I have just tested with your new package, but they print other errors during `make': 1. `make' after `configure' Error 239: str-find.c, line 17 # A struct/union shall not contain a member with incomplete type. int goodtab[]; ^^^ This is valid C99 code. I don't think I want to change it just to support one rarely used compiler. You could change it to [1] and it should work just as well (same for lib-imap/imap-match.c). I agree. I think we can compile with `aCC -AC99' instead of `cc' for HP-UX. Thank you for the information anyway. 2. `make' after `configure CC=/opt/aCC/bin/aCC -AC99' Error 20: mempool-alloconly.c, line 83 # 'number' expected before '.'. MEMBER(v) static_alloconly_pool_vfuncs, ^^ MEMBER() macro is defined in src/macros.h: /* C99-style struct member definitions */ #if (defined(__STDC__) __STDC_VERSION__ = 199901L) || __GNUC__ 2 # define MEMBER(name) .name = #else # define MEMBER(name) #endif So apparently HP-UX lies that it supports C99 even though it doesn't actually? I could change that #ifdef, but I don't know what would be a good check for HP-UX. The man page is saying that they support C99 partially. Anyway, I think we can check for HP-UX by _HPUX_SOURCE. (See http://docs.hp.com/en/B9106-90012/stdsyms.5.html) I think #ifdef _HPUX_SOURCE can work for us. Thank you very much! Regards, Woonsan
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
It is like the following in the generated Makefile: MODULE_SUFFIX = .so --- On Fri, 6/13/08, Timo Sirainen [EMAIL PROTECTED] wrote: From: Timo Sirainen [EMAIL PROTECTED] Subject: Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call To: Dovecot Mailing List dovecot@dovecot.org Cc: [EMAIL PROTECTED] Date: Friday, June 13, 2008, 4:50 PM On Fri, 2008-06-13 at 09:40 +0300, Timo Sirainen wrote: On Thu, 2008-06-12 at 23:37 -0700, Woonsan Ko wrote: Hi All, I tried to build dovecot-1.1.rc9 on a HP-UX machine, but failed to configure with the following message: configure: error: You don't appear to have C99 compatible vsnprintf() call You're in luck, I just yesterday fixed a lot of problems with HP-UX. My latest changes are in http://dovecot.org/tmp/dovecot-hpux.tar.gz Could you try that and tell me if it compiles and everything works? v1.1.rc10 release is actually just waiting for someone to confirm that the HP-UX changes work.. I guess the most important thing I want to know is: What is MODULE_SUFFIX set to in generated Makefiles?
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
On Fri, 2008-06-13 at 00:55 -0700, Woonsan Ko wrote: It is like the following in the generated Makefile: MODULE_SUFFIX = .so Are the plugins created using .so or .sl suffix? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
Actually I'm testing with two HP-UX machine here. [1] `uname': HP-UX B.11.23 U `model': 9000/800/rp3440 CPU: PA-RISC `aCC --version': HP ANSI C++ B3910B A.03.80 [2] `uname': HP-UX B.11.23 U ia64 `model': ia64 hp server rx5670 CPU: Itanium `aCC --version': HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003] With [1], the MODULE_SUFFIX is .sl, and plugins are created with .sl suffix when I compile dovecot-1.0.13. But, With [2], the MODULE_SUFFIX is .so, and plugins are created with .so suffix when I compile dovecot-1.0.13. I have no idea why there's a difference between the two. I googled a page (http://osdir.com/ml/gnu.libtool.general/2003-10/msg00019.html) which seems saying 11.x can make .so suffixed ELF shared library. I don't know. Is it from the difference between PA-RISC and Itanium or from the difference of the compiler versions? --- On Fri, 6/13/08, Timo Sirainen [EMAIL PROTECTED] wrote: From: Timo Sirainen [EMAIL PROTECTED] Subject: Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call To: [EMAIL PROTECTED] Cc: Dovecot Mailing List dovecot@dovecot.org Date: Friday, June 13, 2008, 5:00 PM On Fri, 2008-06-13 at 00:55 -0700, Woonsan Ko wrote: It is like the following in the generated Makefile: MODULE_SUFFIX = .so Are the plugins created using .so or .sl suffix?
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
By the way, on the [1] machine, I succeeded in `make' by using gcc like the following: $ ./configure CC=/opt/hp-gcc64-4.2.1/bin/gcc [1] `uname': HP-UX B.11.23 U `model': 9000/800/rp3440 CPU: PA-RISC `aCC --version': HP ANSI C++ B3910B A.03.80 The plugins are created with .sl suffixes, but there some odd files postfixed by 'ODULE_SUFFIX': # find /usr/local/dovecot-tmp/lib -name lib* -print /usr/local/dovecot-tmp/lib /usr/local/dovecot-tmp/lib/dovecot/imap/lib01_acl_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib20_convert_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib20_expire_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib20_fts_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib21_fts_squat_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib02_lazy_expunge_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib20_mail_log_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib20_mbox_snarf_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib10_quota_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/imap/lib11_imap_quota_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/imap/lib11_imap_quota_plugin.la /usr/local/dovecot-tmp/lib/dovecot/imap/lib11_imap_quota_plugin.a /usr/local/dovecot-tmp/lib/dovecot/imap/lib11_trash_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib01_acl_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib20_convert_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib20_expire_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib20_fts_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib21_fts_squat_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib20_mail_log_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib10_quota_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lda/lib11_trash_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/pop3/lib20_convert_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/pop3/lib20_expire_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/pop3/lib02_lazy_expunge_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/pop3/lib20_mail_log_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/pop3/lib20_mbox_snarf_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/pop3/lib10_quota_pluginODULE_SUFFIX /usr/local/dovecot-tmp/lib/dovecot/lib01_acl_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib01_acl_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib01_acl_plugin.a /usr/local/dovecot-tmp/lib/dovecot/lib21_fts_squat_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib21_fts_squat_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib21_fts_squat_plugin.a /usr/local/dovecot-tmp/lib/dovecot/lib02_lazy_expunge_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib02_lazy_expunge_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib02_lazy_expunge_plugin.a /usr/local/dovecot-tmp/lib/dovecot/lib20_mail_log_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib20_mail_log_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib20_mail_log_plugin.a /usr/local/dovecot-tmp/lib/dovecot/lib20_mbox_snarf_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib20_mbox_snarf_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib20_mbox_snarf_plugin.a /usr/local/dovecot-tmp/lib/dovecot/lib10_quota_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib10_quota_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib10_quota_plugin.a /usr/local/dovecot-tmp/lib/dovecot/lib11_trash_plugin.sl /usr/local/dovecot-tmp/lib/dovecot/lib11_trash_plugin.la /usr/local/dovecot-tmp/lib/dovecot/lib11_trash_plugin.a Regards, Woonsan --- On Fri, 6/13/08, Timo Sirainen [EMAIL PROTECTED] wrote: From: Timo Sirainen [EMAIL PROTECTED] Subject: Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call To: [EMAIL PROTECTED] Cc: Dovecot Mailing List dovecot@dovecot.org Date: Friday, June 13, 2008, 5:00 PM On Fri, 2008-06-13 at 00:55 -0700, Woonsan Ko wrote: It is like the following in the generated Makefile: MODULE_SUFFIX = .so Are the plugins created using .so or .sl suffix?
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
On Fri, 2008-06-13 at 02:09 -0700, Woonsan Ko wrote: By the way, on the [1] machine, I succeeded in `make' by using gcc like the following: $ ./configure CC=/opt/hp-gcc64-4.2.1/bin/gcc [1] `uname': HP-UX B.11.23 U `model': 9000/800/rp3440 CPU: PA-RISC `aCC --version': HP ANSI C++ B3910B A.03.80 The plugins are created with .sl suffixes, but there some odd files postfixed by 'ODULE_SUFFIX': Yes, I noticed that myself also. It's fixed in rc10. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call
I succeeded in installing rc10 under HP-UX PA-RISC machine with gcc (hp-gcc64-4.2.1). It created .sl suffixed libraries. Also, I succeeded in making rc10 under HP-UX Itanium machine with the following configuration: $ ./configure CC=/opt/aCC/bin/aCC -AC99 It created .so suffixed libraries. However, two sources you mentioned before had to be modified: lib/str-find.c (int goodtab[1];) and lib-imap/imap-match.c (char patterns_data[1];). I believe gcc would make in cleaner way than aCC also. Thank you very much! Regards, Woonsan --- On Fri, 6/13/08, Timo Sirainen [EMAIL PROTECTED] wrote: From: Timo Sirainen [EMAIL PROTECTED] Subject: Re: [Dovecot] configure error on HP-UX: C99 compatible vsnprintf() call To: [EMAIL PROTECTED] Cc: Dovecot Mailing List dovecot@dovecot.org Date: Friday, June 13, 2008, 6:15 PM On Fri, 2008-06-13 at 02:09 -0700, Woonsan Ko wrote: By the way, on the [1] machine, I succeeded in `make' by using gcc like the following: $ ./configure CC=/opt/hp-gcc64-4.2.1/bin/gcc [1] `uname': HP-UX B.11.23 U `model': 9000/800/rp3440 CPU: PA-RISC `aCC --version': HP ANSI C++ B3910B A.03.80 The plugins are created with .sl suffixes, but there some odd files postfixed by 'ODULE_SUFFIX': Yes, I noticed that myself also. It's fixed in rc10.