KC-8.7.1 + vmime-0.9.2k1 compile error
-
Hi,
On an up-to-date CentOS 7.6 x86_64 box I tried to compile tag kc-8.7.1 against vmime-0.9.2k1 from github.com/kopano-dev/vmime with GCC 8 from the Red Hat developer toolset 8. Compilation fails with the following error (also available at https://paste.centos.org/view/49f2513d):
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/shared_ptr.h:722:39: required from 'std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = vmime::net::registeredServiceImpl<vmime::net::smtp::MAPISMTPTransport>; _Args = {const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const vmime::net::service::Type&}]' ../inetmapi/serviceRegistration.inl:80:55: required from 'vmime::net::serviceRegisterer<S>::serviceRegisterer(const string&, vmime::net::service::Type) [with S = vmime::net::smtp::MAPISMTPTransport; vmime::string = std::basic_string<char>]' ../inetmapi/MAPISMTPTransport.cpp:66:1: required from here /opt/rh/devtoolset-8/root/usr/include/c++/8/ext/new_allocator.h:136:4: error: invalid new-expression of abstract class type 'vmime::net::registeredServiceImpl<vmime::net::smtp::MAPISMTPTransport>' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../inetmapi/MAPISMTPTransport.cpp:65: ../inetmapi/serviceRegistration.inl:36:7: note: because the following virtual functions are pure within 'vmime::net::registeredServiceImpl<vmime::net::smtp::MAPISMTPTransport>': class registeredServiceImpl : public serviceFactory::registeredService { ^~~~~~~~~~~~~~~~~~~~~ In file included from ../inetmapi/serviceRegistration.inl:26, from ../inetmapi/MAPISMTPTransport.cpp:65: /usr/include/vmime/net/serviceFactory.hpp:83:32: note: 'virtual std::shared_ptr<vmime::net::service> vmime::net::serviceFactory::registeredService::create(const std::shared_ptr<vmime::net::session>&, const std::shared_ptr<vmime::security::authenticator>&) const' virtual shared_ptr <service> create( ^~~~~~ make[2]: Leaving directory '/builddir/build/BUILD/kopanocore/obj-python3' make[2]: *** [Makefile:4225: inetmapi/MAPISMTPTransport.lo] Error 1
Anyone know how to fix this error or if it has already been fixed in the KC-8.7.x branch?
If you need more info, please let me know.
Thanks! -
Hi @patrick,
to be able to build with this new vime version you also need https://stash.kopano.io/projects/KC/repos/kopanocore/commits/1bbadadf034e6c503788e999e88ef75a3a02f745.
-
@fbartels Thanks for the quick reply! Will cherry-pick the commit.
-
Hi @patrick,
is your 0.9.2k1 / 8.7.1 build reasonably stable?
I was experiencing big-issues with current master (8.7.80.1036) though building for CentOS 6 with non-standard php/python and toolchain 7.
At first glance, GDB points in direction of doublefree while cleaning uplibvmime-kopano.so.2
(__cxa_finalize).Resolved:
A version-conflict between libicu-headers and objects was the culprit.++umgfoin.