bqv/weechat-xmpp

error: use of deleted function ‘weechat::xmpp::omemo::omemo()’

snowfag opened this issue · 2 comments

Okay I'm not sure what I'm doing wrong here. Any tips?

for src in plugin.cpp account.cpp buffer.cpp channel.cpp command.cpp completion.cpp config.cpp connection.cpp input.cpp message.cpp omemo.cpp pgp.cpp user.cpp util.cpp config/breadcrumb.cpp config/file.cpp config/section.cpp config/account.cpp config/option.cpp data/omemo.cpp data/capability.cpp xmpp/presence.cpp xmpp/iq.cpp xmpp/node.cpp  tests/main.cc; do \
        dir="$(dirname $src)"; \
        src="$(basename $src)"; \
        if [[ $src == *.cpp ]]; then \
                echo "g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF - \
                        -MT $dir/.${src/.cpp/.o} $dir/$src >> ./.depend"; \
                g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF - \
                        -MT $dir/.${src/.cpp/.o} $dir/$src >> ./.depend || true ; \
        elif [[ $src == *.c ]]; then \
                echo "cc  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fdebug-prefix-map=.=/home/yuki/weechat-xmpp -std=gnu99 -gdwarf-4 -Wall -Wextra -pedantic -Werror-implicit-function-declaration -Wno-missing-field-initializers -D_XOPEN_SOURCE=700 -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF - \
                        -MT $dir/.${src/.c/.o} $dir/$src >> ./.depend"; \
                cc  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fdebug-prefix-map=.=/home/yuki/weechat-xmpp -std=gnu99 -gdwarf-4 -Wall -Wextra -pedantic -Werror-implicit-function-declaration -Wno-missing-field-initializers -D_XOPEN_SOURCE=700 -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF - \
                        -MT $dir/.${src/.c/.o} $dir/$src >> ./.depend || true ; \
        else continue; \
        fi; \
done
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.plugin.o ./plugin.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.account.o ./account.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.buffer.o ./buffer.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.channel.o ./channel.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.command.o ./command.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.completion.o ./completion.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.config.o ./config.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.connection.o ./connection.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.input.o ./input.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.message.o ./message.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.omemo.o ./omemo.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.pgp.o ./pgp.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.user.o ./user.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT ./.util.o ./util.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT config/.breadcrumb.o config/breadcrumb.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT config/.file.o config/file.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT config/.section.o config/section.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT config/.account.o config/account.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT config/.option.o config/option.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT data/.omemo.o data/omemo.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT data/.capability.o data/capability.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT xmpp/.presence.o xmpp/presence.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT xmpp/.iq.o xmpp/iq.cpp >> ./.depend
g++  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -MM -MMD -MP -MF -                   -MT xmpp/.node.o xmpp/node.cpp >> ./.depend
make weechat-xmpp && make test
make[1]: Entering directory '/home/yuki/weechat-xmpp'
g++ -DGIT_COMMIT=3c7a67-dirty  -fno-omit-frame-pointer -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++23 -gdwarf-4 -Wall -Wextra -pedantic -Wno-missing-field-initializers -Ilibstrophe -Ideps -I/usr/include/libxml2  -I/usr/include/signal  -c account.cpp -o .account.o
In file included from account.cpp:20:
account.hh: In constructor ‘weechat::account::account(weechat::config_file&, std::string)’:
account.hh:72:21: warning: ‘weechat::account::name’ will be initialized after [-Wreorder]
   72 |         std::string name;
      |                     ^~~~
account.hh:63:20: warning:   ‘xmpp_mem_t weechat::account::memory’ [-Wreorder]
   63 |         xmpp_mem_t memory = { nullptr };
      |                    ^~~~~~
account.cpp:274:1: warning:   when initialized here [-Wreorder]
  274 | weechat::account::account(config_file& config_file, const std::string name)
      | ^~~~~~~
account.hh:76:29: warning: ‘weechat::account::connection’ will be initialized after [-Wreorder]
   76 |         weechat::connection connection;
      |                             ^~~~~~~~~~
account.cpp:277:89: warning:   base ‘weechat::config_account’ [-Wreorder]
  277 |     , config_account(config_file, config_file.configuration.section_account, name.data())
      |                                                                                         ^
account.cpp:274:1: warning:   when initialized here [-Wreorder]
  274 | weechat::account::account(config_file& config_file, const std::string name)
      | ^~~~~~~
account.cpp:277:89: error: use of deleted function ‘weechat::xmpp::omemo::omemo()’
  277 |     , config_account(config_file, config_file.configuration.section_account, name.data())
      |                                                                                         ^
In file included from account.cpp:19:
omemo.hh:28:16: note: ‘weechat::xmpp::omemo::omemo()’ is implicitly deleted because the default definition would be ill-formed:
   28 |         struct omemo
      |                ^~~~~
omemo.hh:28:16: error: use of deleted function ‘weechat::xmpp::omemo::dbi::dbi()’
omemo.hh:34:20: note: ‘weechat::xmpp::omemo::dbi::dbi()’ is implicitly deleted because the default definition would be ill-formed:
   34 |             struct dbi {
      |                    ^~~
omemo.hh:34:20: error: no matching function for call to ‘lmdb::dbi::dbi()’
In file included from omemo.hh:12:
/usr/include/lmdb++.h:1422:3: note: candidate: ‘lmdb::dbi::dbi(lmdb::dbi&&)’
 1422 |   dbi(dbi&& other) noexcept {
      |   ^~~
/usr/include/lmdb++.h:1422:3: note:   candidate expects 1 argument, 0 provided
/usr/include/lmdb++.h:1416:3: note: candidate: ‘lmdb::dbi::dbi(MDB_dbi)’
 1416 |   dbi(const MDB_dbi handle) noexcept
      |   ^~~
/usr/include/lmdb++.h:1416:3: note:   candidate expects 1 argument, 0 provided
make[1]: *** [makefile:158: .account.o] Error 1
make[1]: Leaving directory '/home/yuki/weechat-xmpp'
make: *** [makefile:131: all] Error 2```
bqv commented

this is me. i probably pushed something half-baked, try an older commit

this was an issue for me on Ubuntu 22.04.2 LTS, but not on Fedora 37. Can't get this to build on Ubuntu yet.