-
Notifications
You must be signed in to change notification settings - Fork 23
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
Error occured while making storage-rbox. #374
Comments
what version of dovecot are you using? |
2.2.36 |
Try with 2.3.15 (tested) 2.2.x is somewhat deprecated and i didn't try it for a while. |
Not work. I have these needed modules installed on my OS. dovecot 2.3.20 Error was diffrent with the above one. libtool: install: /bin/install -c .libs/rmb /usr/local/bin/rmb |
Maybe this is a problem revelent with gcc version. which gcc version does this pluglin support? |
use dovecot 2.3.15 the doveadm api changed in 2.3.20 this is a known problem. |
Much appreciate for your reply. I have tried 2.3.15. Error was diffrent with above two. ・OS Environment ・error detail |
okay :-) warning: ./googletest/googletest/include: No such file or directory [-Wmissing-include-dirs] cc1plus: warning: ./googletest/googlemock/include: No such file or directory [-Wmissing-include-dirs] this means you didn't update the submodules, we are using google test as test framework. you need to update the submodules with: git submodule update --init --recursive |
Instead of using the released version of 1.0.0, I cloned source code from the master branch directly. Then, tired again. This time built successfully. Thanks for your support. My question is, this plugin does not support the latest version of dovecot(2.3.20 for now). |
glad to hear that it is working now. yes, we are planning to make it work, i already created a issue in march for it #292. But for me it's a matter of available time to do it. I will add more details of what exactly needs to be done, it shouldn't be too complicated. |
Thanks for your work. Wish to see some update. |
Error occured while writing to Ceph Cluster, any idea about this one? Jun 6 16:27:31 dev-host27 dovecot: lmtp: Error: Thread::try_create(): pthread_create failed with error 11common/Thread.cc: In function 'void Thread::create(const char*, size_t)' thread 7f45113d5740 time 2023-06-06 16:27:31.298147 |
never tried this with Jewel 10.2.5. we tested with client and cluster > luminous common issues:
If you want, you can setup an evaluation environment by using the dovecot-ceph container i build to ease development and evaluation of new features. (centos7 and dovecot 2.3.15) |
Check OK.
Check OK.
No exists. But tested after created this manually. Still not work. It's kind of weird. My ceph version is: ceph version 15.2.17 octopus (stable) |
Thanks for your reminding. I have been using librados2-devel.x86_64 1:10.2.5-4.el7. Maybe that is the problem?
This time another error occured. I know that this means can not connect ceph cluster. /etc/ceph/ceph.conf
/etc/dovecot/conf.d/90-plugin.conf
Pool of mail_storage not exists, but it will be created by the plugin, I think. <29315>: Error: Exception: setting up ceph connection: std::bad_alloc |
Some update. Ceph config seems no wrong. RMB command can connect Ceph Cluster normally. I'm just curious about that the error is bad_alloc. That means something with memory.
|
Ok I will look at the container can u post some more details what went wrong? |
there was a problem with the current branch, i already fixed this in the current dev version. for now please use |
I think i found something, if you look at the centos librados-dev package: https://cbs.centos.org/koji/rpminfo?rpmID=389854 it does not have the *.hpp files included. think this i why i added them directly (from github src) in the centos container. So if the container works for you maybe you have the same issue, or old includes are still present. |
Tried with bugfix/374-build-with-centos-container branch. The same error occurred.
From the log, I know here is the error where occurred.
|
can you try with the container it worked for me. maybe you see differences with your local setup. |
did you find the reason for your problem? |
Not for now.
This really, really confused me. With no further information. |
Describe the bug
Make failed. Error occured while making storage-rbox. Below is the detail.
source code is 1.0.0.
os is Cent OS 7.
make[2]: Entering directory
/root/dovecot-ceph-plugin-1.0.0/src/storage-rbox'/bin/sh ../../libtool --tag=CXX --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/dovecot -I../../src/librmb -I../../src/librmb/tools/rmb -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -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 -Wreturn-type -Wno-overloaded-virtual -Wswitch-enum -Wswitch-default -Wno-undef -Wno-redundant-decls -Wno-error=unused-parameter -Wno-error=missing-field-initializers -Wno-error=overloaded-virtual -Wno-error=undef -Wno-error=redundant-decls -fpermissive -std=c++11 -fPIC -DPIC -MT lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.lo -MD -MP -MF .deps/lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.Tpo -c -o lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.lo
test -f 'doveadm-rbox-plugin.cpp' || echo './'
doveadm-rbox-plugin.cpplibtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/dovecot -I../../src/librmb -I../../src/librmb/tools/rmb -fno-strict-aliasing -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -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 -Wreturn-type -Wno-overloaded-virtual -Wswitch-enum -Wswitch-default -Wno-undef -Wno-redundant-decls -Wno-error=unused-parameter -Wno-error=missing-field-initializers -Wno-error=overloaded-virtual -Wno-error=undef -Wno-error=redundant-decls -fpermissive -std=c++11 -fPIC -DPIC -MT lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.lo -MD -MP -MF .deps/lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.Tpo -c doveadm-rbox-plugin.cpp -fPIC -DPIC -o .libs/lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.o
In file included from doveadm-rbox-plugin.cpp:23:0:
/usr/include/dovecot/str.h: In function 'const unsigned char* str_data(const string_t*)':
/usr/include/dovecot/str.h:22:14: warning: invalid conversion from 'const void*' to 'const unsigned char*' [-fpermissive]
return str->data;
^
In file included from doveadm-rbox-plugin.cpp:28:0:
/usr/include/dovecot/mail-index-private.h: At global scope:
/usr/include/dovecot/mail-index-private.h:268:44: warning: 'int mail_index_map(mail_index*, mail_index_sync_handler_type)' hides constructor for 'struct mail_index_map' [-Wshadow]
enum mail_index_sync_handler_type type);
^
In file included from ../../src/librmb/rados-storage.h:21:0,
from ../../src/librmb/tools/rmb/rmb-commands.h:23,
from doveadm-rbox-plugin.cpp:50:
../../src/librmb/rados-mail.h: In member function 'void librmb::RadosMail::set_lost_object(bool)':
../../src/librmb/rados-mail.h:91:45: warning: declaration of 'is_lost_object' shadows a member of 'this' [-Wshadow]
void set_lost_object(bool is_lost_object) { lost_object = is_lost_object; }
^
doveadm-rbox-plugin.cpp: In function 'int cmd_rmb_create_ceph_index_run(doveadm_mail_cmd_context*, mail_user*)':
doveadm-rbox-plugin.cpp:832:85: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::set<std::basic_string >::size_type {aka long unsigned int}' [-Wformat=]
i_info("found %s mails in namespace %d",info->vname, mail_objects.size());
^
doveadm-rbox-plugin.cpp:851:65: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::set<std::basic_string >::size_type {aka long unsigned int}' [-Wformat=]
i_info("found %d mails in namespace",mail_objects.size());
^
doveadm-rbox-plugin.cpp: In function 'int iterate_list_objects(mail_namespace*, const mailbox_info*, std::set<std::basic_string >&)':
doveadm-rbox-plugin.cpp:880:63: error: 'mail_index_lock_sync' was not declared in this scope
mail_index_lock_sync(box->index, "LOCKED_FOR_INDEX_CREATION");
^
doveadm-rbox-plugin.cpp:882:112: error: too many arguments to function 'mailbox_transaction_context* mailbox_transaction_begin(mailbox*, mailbox_transaction_flags)'
mailbox_transaction = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL, "ceph_index_creation");
^
In file included from /usr/include/dovecot/mail-storage-private.h:7:0,
from /usr/include/dovecot/index-storage.h:5,
from dovecot-all.h:28,
from rbox-storage.h:21,
from doveadm-rbox-plugin.cpp:58:
/usr/include/dovecot/mail-storage.h:647:1: note: declared here
mailbox_transaction_begin(struct mailbox *box,
^
doveadm-rbox-plugin.cpp:909:62: error: 'mail_index_unlock' was not declared in this scope
mail_index_unlock(box->index, "UNLOCKED_FOR_INDEX_CREATION");
^
make[2]: *** [lib10_doveadm_rbox_plugin_la-doveadm-rbox-plugin.lo] Error 1
make[2]: Leaving directory
/root/dovecot-ceph-plugin-1.0.0/src/storage-rbox' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory
/root/dovecot-ceph-plugin-1.0.0/src'make: *** [install-recursive] Error 1`
The text was updated successfully, but these errors were encountered: