not able to compile deleted_to_trash Plugin

Pimminger Alfred Alfred.Pimminger at gmx.at
Mon Jul 28 14:59:31 UTC 2014


Following version and content of .conf file
----------------------------------------------------------------------------------------

root at ABCD:/CavE/download/delete_to_trash# dovecot --version
2.2.9
root at ABCD:/CavE/download/delete_to_trash# dovecot -n
# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-32-generic x86_64 Ubuntu 14.04.1 LTS
auth_mechanisms = plain login
log_path = /var/log/dovecot/dovecot.log
mail_location = maildir:~/Maildir:LAYOUT=fs
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Gesendete {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  driver = pam
}
passdb {
  driver = pam
}
protocols = imap pop3
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = root
}
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
  driver = passwd
}
userdb {
  driver = passwd
}

----------------------------------------------------------------------------------------

I get the following output after doing make

root at ABCD:/CavE/download/delete_to_trash# make
cc    \
              -fPIC -shared -Wall \
              -I/usr/include/dovecot \
              -I/usr/include/dovecot/src \
              -I/usr/include/dovecot/src/lib \
              -I/usr/include/dovecot/src/lib-storage \
              -I/usr/include/dovecot/src/lib-mail \
              -I/usr/include/dovecot/src/lib-imap \
              -I/usr/include/dovecot/src/lib-index \
              -DHAVE_CONFIG_H \
              deleted-to-trash-plugin.c -o lib_deleted_to_trash_plugin.so
In file included from deleted-to-trash-plugin.c:2:0:
deleted-to-trash-plugin.h:19:2: error: expected specifier-qualifier-list before 'ARRAY_DEFINE'
  ARRAY_DEFINE(mail_id, unsigned int);
  ^
deleted-to-trash-plugin.c: In function 'get_users_inbox_namespace':
deleted-to-trash-plugin.c:19:21: error: 'NAMESPACE_FLAG_INBOX' undeclared (first use in this function)
   if(curns->flags & NAMESPACE_FLAG_INBOX)
                     ^
deleted-to-trash-plugin.c:19:21: note: each undeclared identifier is reported only once for each function it appears in
deleted-to-trash-plugin.c: In function 'search_deleted_id':
deleted-to-trash-plugin.c:40:14: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
  if(last_copy.src_mailbox_name != NULL && strcmp(_mail->box->name, last_copy.src_mailbox_name) == 0)
              ^
deleted-to-trash-plugin.c:40:77: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
  if(last_copy.src_mailbox_name != NULL && strcmp(_mail->box->name, last_copy.src_mailbox_name) == 0)
                                                                             ^
In file included from /usr/include/dovecot/module-context.h:4:0,
                 from /usr/include/dovecot/mail-storage-private.h:4,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:46:34: error: 'struct last_copy_info' has no member named 'mail_id'
   mail_ids = array_get(&last_copy.mail_id, &count);
                                  ^
/usr/include/dovecot/array.h:44:12: note: in definition of macro 'ARRAY_TYPE_CAST_CONST'
  (typeof(*(array)->v))
            ^
deleted-to-trash-plugin.c:46:14: note: in expansion of macro 'array_get'
   mail_ids = array_get(&last_copy.mail_id, &count);
              ^
deleted-to-trash-plugin.c:46:34: error: 'struct last_copy_info' has no member named 'mail_id'
   mail_ids = array_get(&last_copy.mail_id, &count);
                                  ^
/usr/include/dovecot/array.h:192:44: note: in definition of macro 'array_get'
  ARRAY_TYPE_CAST_CONST(array)array_get_i(&(array)->arr, count)
                                            ^
deleted-to-trash-plugin.c:58:28: error: 'struct last_copy_info' has no member named 'mail_id'
   if(array_count(&last_copy.mail_id) > 0)
                            ^
/usr/include/dovecot/array.h:143:18: note: in definition of macro 'array_count'
  array_count_i(&(array)->arr)
                  ^
deleted-to-trash-plugin.c:60:25: error: 'struct last_copy_info' has no member named 'mail_id'
    array_free(&last_copy.mail_id);
                         ^
/usr/include/dovecot/array.h:111:17: note: in definition of macro 'array_free'
  array_free_i(&(array)->arr)
                 ^
deleted-to-trash-plugin.c:61:27: error: 'struct last_copy_info' has no member named 'mail_id'
    i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
                           ^
/usr/include/dovecot/array.h:103:19: note: in definition of macro 'array_create'
  array_create_i(&(array)->arr, pool, element_size, init_count)
                   ^
/usr/include/dovecot/array.h:38:2: note: in expansion of macro 'p_array_init'
  p_array_init(array, default_pool, init_count)
  ^
deleted-to-trash-plugin.c:61:4: note: in expansion of macro 'i_array_init'
    i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
    ^
deleted-to-trash-plugin.c:61:27: error: 'struct last_copy_info' has no member named 'mail_id'
    i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
                           ^
/usr/include/dovecot/array.h:103:38: note: in definition of macro 'array_create'
  array_create_i(&(array)->arr, pool, element_size, init_count)
                                      ^
/usr/include/dovecot/array.h:38:2: note: in expansion of macro 'p_array_init'
  p_array_init(array, default_pool, init_count)
  ^
deleted-to-trash-plugin.c:61:4: note: in expansion of macro 'i_array_init'
    i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
    ^
deleted-to-trash-plugin.c:63:15: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
   if(last_copy.src_mailbox_name != NULL)
               ^
In file included from /usr/include/dovecot/lib.h:29:0,
                 from deleted-to-trash-plugin.h:4,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:65:20: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
    i_free(last_copy.src_mailbox_name);
                    ^
/usr/include/dovecot/mempool.h:89:33: note: in definition of macro 'p_free'
           (pool)->v->free(pool, mem); \
                                 ^
deleted-to-trash-plugin.c:65:4: note: in expansion of macro 'i_free'
    i_free(last_copy.src_mailbox_name);
    ^
deleted-to-trash-plugin.c:65:20: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
    i_free(last_copy.src_mailbox_name);
                    ^
/usr/include/dovecot/mempool.h:90:12: note: in definition of macro 'p_free'
           (mem) = NULL; \
            ^
deleted-to-trash-plugin.c:65:4: note: in expansion of macro 'i_free'
    i_free(last_copy.src_mailbox_name);
    ^
deleted-to-trash-plugin.c:66:13: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
    last_copy.src_mailbox_name = NULL;
             ^
deleted-to-trash-plugin.c: In function 'mailbox_open_or_create':
deleted-to-trash-plugin.c:79:43: error: 'MAILBOX_OPEN_FAST' undeclared (first use in this function)
  box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
                                           ^
deleted-to-trash-plugin.c:79:63: error: 'MAILBOX_OPEN_KEEP_RECENT' undeclared (first use in this function)
  box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
                                                               ^
deleted-to-trash-plugin.c:79:90: error: 'MAILBOX_OPEN_NO_INDEX_FILES' undeclared (first use in this function)
  box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
                                                                                          ^
deleted-to-trash-plugin.c:79:2: warning: passing argument 1 of 'mailbox_open' from incompatible pointer type [enabled by default]
  box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
  ^
In file included from /usr/include/dovecot/mail-storage-private.h:7:0,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
/usr/include/dovecot/mail-storage.h:479:5: note: expected 'struct mailbox *' but argument is of type 'struct mail_storage **'
 int mailbox_open(struct mailbox *box);
     ^
deleted-to-trash-plugin.c:79:2: error: too many arguments to function 'mailbox_open'
  box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
  ^
In file included from /usr/include/dovecot/mail-storage-private.h:7:0,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
/usr/include/dovecot/mail-storage.h:479:5: note: declared here
 int mailbox_open(struct mailbox *box);
     ^
deleted-to-trash-plugin.c:79:6: warning: assignment makes pointer from integer without a cast [enabled by default]
  box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | MAILBOX_OPEN_NO_INDEX_FILES);
      ^
deleted-to-trash-plugin.c:86:4: warning: implicit declaration of function 'mail_storage_mailbox_create' [-Wimplicit-function-declaration]
    if(mail_storage_mailbox_create(storage, name, FALSE) >= 0)
    ^
deleted-to-trash-plugin.c:89:5: warning: passing argument 1 of 'mailbox_open' from incompatible pointer type [enabled by default]
     box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT);
     ^
In file included from /usr/include/dovecot/mail-storage-private.h:7:0,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
/usr/include/dovecot/mail-storage.h:479:5: note: expected 'struct mailbox *' but argument is of type 'struct mail_storage **'
 int mailbox_open(struct mailbox *box);
     ^
deleted-to-trash-plugin.c:89:5: error: too many arguments to function 'mailbox_open'
     box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT);
     ^
In file included from /usr/include/dovecot/mail-storage-private.h:7:0,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
/usr/include/dovecot/mail-storage.h:479:5: note: declared here
 int mailbox_open(struct mailbox *box);
     ^
deleted-to-trash-plugin.c:89:9: warning: assignment makes pointer from integer without a cast [enabled by default]
     box = mailbox_open(&storage, name, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT);
         ^
deleted-to-trash-plugin.c: In function 'copy_deleted_mail_to_trash':
deleted-to-trash-plugin.c:104:52: error: 'struct mail_storage' has no member named 'ns'
  ns = get_users_inbox_namespace(_mail->box->storage->ns->user);
                                                    ^
deleted-to-trash-plugin.c:127:3: warning: implicit declaration of function 'mailbox_keywords_free' [-Wimplicit-function-declaration]
   mailbox_keywords_free(trash_box, &keywords);
   ^
deleted-to-trash-plugin.c:140:3: warning: passing argument 1 of 'mailbox_close' from incompatible pointer type [enabled by default]
   mailbox_close(&trash_box);
   ^
In file included from /usr/include/dovecot/mail-storage-private.h:7:0,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
/usr/include/dovecot/mail-storage.h:483:6: note: expected 'struct mailbox *' but argument is of type 'struct mailbox **'
 void mailbox_close(struct mailbox *box);
      ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_mail_update_flags':
deleted-to-trash-plugin.c:178:53: error: 'struct mail_storage' has no member named 'ns'
   ns = get_users_inbox_namespace(_mail->box->storage->ns->user);
                                                     ^
deleted-to-trash-plugin.c:181:113: error: 'struct mail_storage' has no member named 'ns'
   if(new_flags & MAIL_DELETED && !(strcmp(_mail->box->name, trashfolder_name) == 0 && strcmp(_mail->box->storage->ns->prefix, ns->prefix) == 0))
                                                                                                                 ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_copy':
deleted-to-trash-plugin.c:229:112: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
   i_info("from %s to %s, previous action from %s", mail->box->name, save_ctx->transaction->box->name, last_copy.src_mailbox_name);
                                                                                                                ^
deleted-to-trash-plugin.c:230:73: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
   if(last_copy.transaction_context == save_ctx->transaction && last_copy.src_mailbox_name != NULL && strcmp(last_copy.src_mailbox_name, mail->box->name) == 0)
                                                                         ^
deleted-to-trash-plugin.c:230:118: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
   if(last_copy.transaction_context == save_ctx->transaction && last_copy.src_mailbox_name != NULL && strcmp(last_copy.src_mailbox_name, mail->box->name) == 0)
                                                                                                                      ^
In file included from /usr/include/dovecot/module-context.h:4:0,
                 from /usr/include/dovecot/mail-storage-private.h:4,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:232:27: error: 'struct last_copy_info' has no member named 'mail_id'
    array_append(&last_copy.mail_id, &mail->uid, 1);
                           ^
/usr/include/dovecot/array.h:152:19: note: in definition of macro 'array_append'
  array_append_i(&(array)->arr + ARRAY_TYPE_CHECK(array, data), \
                   ^
In file included from /usr/include/dovecot/lib.h:25:0,
                 from deleted-to-trash-plugin.h:4,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:232:27: error: 'struct last_copy_info' has no member named 'mail_id'
    array_append(&last_copy.mail_id, &mail->uid, 1);
                           ^
/usr/include/dovecot/macros.h:155:26: note: in definition of macro 'COMPILE_ERROR_IF_TRUE'
  (sizeof(char[1 - 2 * !!(condition)]) - 1)
                          ^
/usr/include/dovecot/array.h:48:2: note: in expansion of macro 'COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE'
  COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE( \
  ^
/usr/include/dovecot/array.h:152:33: note: in expansion of macro 'ARRAY_TYPE_CHECK'
  array_append_i(&(array)->arr + ARRAY_TYPE_CHECK(array, data), \
                                 ^
deleted-to-trash-plugin.c:232:4: note: in expansion of macro 'array_append'
    array_append(&last_copy.mail_id, &mail->uid, 1);
    ^
In file included from /usr/include/dovecot/module-context.h:4:0,
                 from /usr/include/dovecot/mail-storage-private.h:4,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:233:42: error: 'struct last_copy_info' has no member named 'mail_id'
    i_info("nr %i", array_count(&last_copy.mail_id));
                                          ^
/usr/include/dovecot/array.h:143:18: note: in definition of macro 'array_count'
  array_count_i(&(array)->arr)
                  ^
deleted-to-trash-plugin.c:238:29: error: 'struct last_copy_info' has no member named 'mail_id'
    if(array_count(&last_copy.mail_id) > 0)
                             ^
/usr/include/dovecot/array.h:143:18: note: in definition of macro 'array_count'
  array_count_i(&(array)->arr)
                  ^
deleted-to-trash-plugin.c:240:26: error: 'struct last_copy_info' has no member named 'mail_id'
     array_free(&last_copy.mail_id);
                          ^
/usr/include/dovecot/array.h:111:17: note: in definition of macro 'array_free'
  array_free_i(&(array)->arr)
                 ^
deleted-to-trash-plugin.c:241:28: error: 'struct last_copy_info' has no member named 'mail_id'
     i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
                            ^
/usr/include/dovecot/array.h:103:19: note: in definition of macro 'array_create'
  array_create_i(&(array)->arr, pool, element_size, init_count)
                   ^
/usr/include/dovecot/array.h:38:2: note: in expansion of macro 'p_array_init'
  p_array_init(array, default_pool, init_count)
  ^
deleted-to-trash-plugin.c:241:5: note: in expansion of macro 'i_array_init'
     i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
     ^
deleted-to-trash-plugin.c:241:28: error: 'struct last_copy_info' has no member named 'mail_id'
     i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
                            ^
/usr/include/dovecot/array.h:103:38: note: in definition of macro 'array_create'
  array_create_i(&(array)->arr, pool, element_size, init_count)
                                      ^
/usr/include/dovecot/array.h:38:2: note: in expansion of macro 'p_array_init'
  p_array_init(array, default_pool, init_count)
  ^
deleted-to-trash-plugin.c:241:5: note: in expansion of macro 'i_array_init'
     i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
     ^
deleted-to-trash-plugin.c:246:28: error: 'struct last_copy_info' has no member named 'mail_id'
     array_append(&last_copy.mail_id, &mail->uid, 1);
                            ^
/usr/include/dovecot/array.h:152:19: note: in definition of macro 'array_append'
  array_append_i(&(array)->arr + ARRAY_TYPE_CHECK(array, data), \
                   ^
In file included from /usr/include/dovecot/lib.h:25:0,
                 from deleted-to-trash-plugin.h:4,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:246:28: error: 'struct last_copy_info' has no member named 'mail_id'
     array_append(&last_copy.mail_id, &mail->uid, 1);
                            ^
/usr/include/dovecot/macros.h:155:26: note: in definition of macro 'COMPILE_ERROR_IF_TRUE'
  (sizeof(char[1 - 2 * !!(condition)]) - 1)
                          ^
/usr/include/dovecot/array.h:48:2: note: in expansion of macro 'COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE'
  COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE( \
  ^
/usr/include/dovecot/array.h:152:33: note: in expansion of macro 'ARRAY_TYPE_CHECK'
  array_append_i(&(array)->arr + ARRAY_TYPE_CHECK(array, data), \
                                 ^
deleted-to-trash-plugin.c:246:5: note: in expansion of macro 'array_append'
     array_append(&last_copy.mail_id, &mail->uid, 1);
     ^
deleted-to-trash-plugin.c:247:14: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
     last_copy.src_mailbox_name = i_strdup(mail->box->name);
              ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_transaction_commit':
deleted-to-trash-plugin.c:267:2: warning: passing argument 2 of 'lbox->super.transaction_commit' from incompatible pointer type [enabled by default]
  int ret = lbox->super.transaction_commit(t, uid_validity_r, first_saved_uid_r, last_saved_uid_r);
  ^
deleted-to-trash-plugin.c:267:2: note: expected 'struct mail_transaction_commit_changes *' but argument is of type 'uint32_t *'
deleted-to-trash-plugin.c:267:2: error: too many arguments to function 'lbox->super.transaction_commit'
deleted-to-trash-plugin.c: At top level:
deleted-to-trash-plugin.c:284:107: warning: 'enum mailbox_open_flags' declared inside parameter list [enabled by default]
 deleted_to_trash_mailbox_open(struct mail_storage *storage, const char *name, struct istream *input, enum mailbox_open_flags flags)
                                                                                                           ^
deleted-to-trash-plugin.c:284:107: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
deleted-to-trash-plugin.c:284:126: error: parameter 4 ('flags') has incomplete type
 deleted_to_trash_mailbox_open(struct mail_storage *storage, const char *name, struct istream *input, enum mailbox_open_flags flags)
                                                                                                                              ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_mailbox_open':
deleted-to-trash-plugin.c:290:23: error: 'struct mail_storage_vfuncs' has no member named 'mailbox_open'
  box = lstorage->super.mailbox_open(storage, name, input, flags);
                       ^
deleted-to-trash-plugin.c:298:29: warning: assignment from incompatible pointer type [enabled by default]
   box->v.transaction_commit = deleted_to_trash_transaction_commit;
                             ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_mail_storage_created':
deleted-to-trash-plugin.c:327:12: error: 'struct mail_storage_vfuncs' has no member named 'mailbox_open'
  storage->v.mailbox_open = deleted_to_trash_mailbox_open;
            ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_plugin_init':
deleted-to-trash-plugin.c:364:28: error: lvalue required as left operand of assignment
  hook_mail_storage_created = deleted_to_trash_mail_storage_created;
                            ^
deleted-to-trash-plugin.c:367:28: error: lvalue required as left operand of assignment
  hook_mailbox_list_created = deleted_to_trash_mailbox_list_created;
                            ^
In file included from /usr/include/dovecot/module-context.h:4:0,
                 from /usr/include/dovecot/mail-storage-private.h:4,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:370:25: error: 'struct last_copy_info' has no member named 'mail_id'
  i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
                         ^
/usr/include/dovecot/array.h:103:19: note: in definition of macro 'array_create'
  array_create_i(&(array)->arr, pool, element_size, init_count)
                   ^
/usr/include/dovecot/array.h:38:2: note: in expansion of macro 'p_array_init'
  p_array_init(array, default_pool, init_count)
  ^
deleted-to-trash-plugin.c:370:2: note: in expansion of macro 'i_array_init'
  i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
  ^
deleted-to-trash-plugin.c:370:25: error: 'struct last_copy_info' has no member named 'mail_id'
  i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
                         ^
/usr/include/dovecot/array.h:103:38: note: in definition of macro 'array_create'
  array_create_i(&(array)->arr, pool, element_size, init_count)
                                      ^
/usr/include/dovecot/array.h:38:2: note: in expansion of macro 'p_array_init'
  p_array_init(array, default_pool, init_count)
  ^
deleted-to-trash-plugin.c:370:2: note: in expansion of macro 'i_array_init'
  i_array_init(&last_copy.mail_id, TRASH_LIST_INITSIZE);
  ^
deleted-to-trash-plugin.c:371:11: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
  last_copy.src_mailbox_name = NULL;
           ^
deleted-to-trash-plugin.c: In function 'deleted_to_trash_plugin_deinit':
deleted-to-trash-plugin.c:377:28: error: lvalue required as left operand of assignment
  hook_mail_storage_created = deleted_to_trash_next_hook_mail_storage_created;
                            ^
deleted-to-trash-plugin.c:378:28: error: lvalue required as left operand of assignment
  hook_mailbox_list_created = deleted_to_trash_next_hook_mailbox_list_created;
                            ^
deleted-to-trash-plugin.c:380:14: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
  if(last_copy.src_mailbox_name != NULL)
              ^
In file included from /usr/include/dovecot/lib.h:29:0,
                 from deleted-to-trash-plugin.h:4,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:382:19: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
   i_free(last_copy.src_mailbox_name);
                   ^
/usr/include/dovecot/mempool.h:89:33: note: in definition of macro 'p_free'
           (pool)->v->free(pool, mem); \
                                 ^
deleted-to-trash-plugin.c:382:3: note: in expansion of macro 'i_free'
   i_free(last_copy.src_mailbox_name);
   ^
deleted-to-trash-plugin.c:382:19: error: 'struct last_copy_info' has no member named 'src_mailbox_name'
   i_free(last_copy.src_mailbox_name);
                   ^
/usr/include/dovecot/mempool.h:90:12: note: in definition of macro 'p_free'
           (mem) = NULL; \
            ^
deleted-to-trash-plugin.c:382:3: note: in expansion of macro 'i_free'
   i_free(last_copy.src_mailbox_name);
   ^
In file included from /usr/include/dovecot/module-context.h:4:0,
                 from /usr/include/dovecot/mail-storage-private.h:4,
                 from deleted-to-trash-plugin.h:5,
                 from deleted-to-trash-plugin.c:2:
deleted-to-trash-plugin.c:384:23: error: 'struct last_copy_info' has no member named 'mail_id'
  array_free(&last_copy.mail_id);
                       ^
/usr/include/dovecot/array.h:111:17: note: in definition of macro 'array_free'
  array_free_i(&(array)->arr)
                 ^
make: *** [lib_deleted_to_trash_plugin.so] Fehler 1

----------------------------------------------------------------------------------------

First I thought that something with the path setting in the Makefile is wrong.
The only thing I've seen is than only the folder /usr/include/dovecot .exists - not the following subdirectories :

              -I/usr/include/dovecot/src \
              -I/usr/include/dovecot/src/lib \
              -I/usr/include/dovecot/src/lib-storage \
              -I/usr/include/dovecot/src/lib-mail \
              -I/usr/include/dovecot/src/lib-imap \
              -I/usr/include/dovecot/src/lib-index


Has anyone some suggestions for my problem?



More information about the dovecot mailing list