Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for dovecot 2.2.10: building failed on updated centos7 #189

Closed
f1-outsourcing opened this issue Aug 30, 2018 · 5 comments
Closed

Comments

@f1-outsourcing
Copy link

CentOS Linux release 7.5.1804 (Core)

Linux svr 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

librados2-12.2.7-0.el7.x86_64
librados-devel-12.2.7-0.el7.x86_64

Building failed

make[5]: Leaving directory `/home/software/dovecot-ceph-plugin/src/librmb/tools'
make[4]: Leaving directory `/home/software/dovecot-ceph-plugin/src/librmb/tools'
make[3]: Leaving directory `/home/software/dovecot-ceph-plugin/src/librmb'
Making all in dict-rados
make[3]: Entering directory `/home/software/dovecot-ceph-plugin/src/dict-rados'
depbase=`echo libdict-rados-plugin.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../..  -I/usr/include/dovecot  -I../../src/librmb   -fno-strict-aliasing -Wall -Wextra -Wundef -Wnested-externs -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wformat=2 -Wold-style-definition -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wimplicit-function-declaration -Wreturn-type -Wswitch-enum -Wswitch-default -Wno-declaration-after-statement -Wno-error=unused-parameter -Wno-error=missing-field-initializers -Wno-error=declaration-after-statement -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fno-strict-aliasing -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2   -I../.. -I/usr/include/dovecot  -MT libdict-rados-plugin.lo -MD -MP -MF $depbase.Tpo -c -o libdict-rados-plugin.lo libdict-rados-plugin.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/dovecot -I../../src/librmb -fno-strict-aliasing -Wall -Wextra -Wundef -Wnested-externs -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wformat=2 -Wold-style-definition -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wimplicit-function-declaration -Wreturn-type -Wswitch-enum -Wswitch-default -Wno-declaration-after-statement -Wno-error=unused-parameter -Wno-error=missing-field-initializers -Wno-error=declaration-after-statement -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fno-strict-aliasing -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I../.. -I/usr/include/dovecot -MT libdict-rados-plugin.lo -MD -MP -MF .deps/libdict-rados-plugin.Tpo -c libdict-rados-plugin.c  -fPIC -DPIC -o .libs/libdict-rados-plugin.o
In file included from libdict-rados-plugin.c:15:0:
dict-rados.h:16:28: warning: 'struct dict_settings' declared inside parameter list [enabled by default]
                            const char **error_r);
                            ^
dict-rados.h:16:28: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
dict-rados.h:28:74: error: unknown type name 'dict_lookup_callback_t'
 extern void rados_dict_lookup_async(struct dict *_dict, const char *key, dict_lookup_callback_t *callback,
                                                                          ^
libdict-rados-plugin.c:21:34: warning: initialization from incompatible pointer type [enabled by default]
                                  {.init = rados_dict_init,
                                  ^
libdict-rados-plugin.c:21:34: warning: (near initialization for 'dict_driver_rados.v.init') [enabled by default]
libdict-rados-plugin.c:40:35: error: unknown field 'lookup_async' specified in initializer
                                   .lookup_async = rados_dict_lookup_async
                                   ^
libdict-rados-plugin.c:40:51: error: 'rados_dict_lookup_async' undeclared here (not in a function)
                                   .lookup_async = rados_dict_lookup_async
                                                   ^
libdict-rados-plugin.c:42:34: warning: excess elements in struct initializer [enabled by default]
                                  }};
                                  ^
libdict-rados-plugin.c:42:34: warning: (near initialization for 'dict_driver_rados.v') [enabled by default]
make[3]: *** [libdict-rados-plugin.lo] Error 1
make[3]: Leaving directory `/home/software/dovecot-ceph-plugin/src/dict-rados'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/software/dovecot-ceph-plugin/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/software/dovecot-ceph-plugin'
@jrse
Copy link
Contributor

jrse commented Aug 31, 2018

which dovecot version are you using? Is it the 2.2.10?

@f1-outsourcing
Copy link
Author

Default in rhel/centos. I already noticed it is the same as this issue #144. But it would be good to support the default dovecot version shipping with rhel/centos. (I at least want to use it in a supported and stable os).

@jrse
Copy link
Contributor

jrse commented Sep 4, 2018

We do not support dovecot versions < 2.2.21, however with some afford, it is possible to use #ifdefs to make it work, but we also do not recommend it. Currently we are focusing on keeping track with the changes to 2.2 and 2.3 master.

@f1-outsourcing
Copy link
Author

I would recommend that, in your choice for supporting a dovecot version you include the supported ones of most used LTS distributions. What use is developing this if no-one can use it on a supported platform? (Assuming of course that serious installations with 1k+ mailboxes, do not have cowboy sysadmins)

@jrse
Copy link
Contributor

jrse commented Sep 5, 2018

you have a point, but it is also a question of free programmer time to support the dovecot version of the most used LTS distributions. And currently we have no spare capacity to do this. I agree it may be good to support dovecot versions < 2.2.21. But for our customer those are currently not relevant. However i had a look at the 2.2.10 source and they changed the internal api (dictionary, doveadm and storage), so it requires a litte more time to modify the plugin source and to make sure it will work. I will change this issue to a Feature Request for dovecot 2.2.10 support.

And I will discuss the support for centos 7.5 dovecot 2.2.10 again within the team.

@jrse jrse changed the title building failed on updated centos7 Support for dovecot 2.2.10: building failed on updated centos7 Sep 5, 2018
jrse added a commit that referenced this issue Sep 28, 2018
…n is currently not supported, doveadm rmb plugin is also not supported (use rmb tool instead), some unit/integration tests are failing due to old dovecot apis. Tested with imaptest and manually with thunderbird mail_client. Build with ./autogen && ./configure --enable-maintainer-mode --prefix=/home/user/dovecot-2.2.10 && make install
@jrse jrse closed this as completed Jun 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants