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!


  • Kopano



  • @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 up libvmime-kopano.so.2 (__cxa_finalize).

    Resolved:
    A version-conflict between libicu-headers and objects was the culprit.

    ++umgfoin.


Log in to reply