Uploaded image for project: 'XMLTooling - C++'
  1. XMLTooling - C++
  2. CPPXT-107

Issues compiling with Boost and VC15

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.0
    • Fix Version/s: 1.6.1
    • Component/s: Security
    • Labels:
      None
    • Operating System:
      Multiple
    • CPU Type:
      Multiple
    • C/C++ Compiler:
      Multiple
    • Web Server:
      Multiple

      Description

      This is the log for one of the two failing files (the other one is StaticPKIXTrustEngine)

      1>------ Build started: Project: xmltooling, Configuration: Debug Win32 ------
      1>  AbstractPKIXTrustEngine.cpp
      1>h:\perforce\devel\boost_1_60_0\boost\ptr_container\clone_allocator.hpp(34): error C2259: 'xmltooling::OpenSSLPathValidator': cannot instantiate abstract class
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\clone_allocator.hpp(34): note: due to following members:
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\clone_allocator.hpp(34): note: 'bool xmltooling::PathValidator::validate(XSECCryptoX509 *,const std::vector<XSECCryptoX509 *,std::allocator<_Ty>> &,const xmltooling::PathValidator::PathValidatorParams &) const': is abstract
      1>          with
      1>          [
      1>              _Ty=XSECCryptoX509 *
      1>          ]
      1>  h:\perforce\devel\cpp-xmltooling\xmltooling\security\pathvalidator.h(71): note: see declaration of 'xmltooling::PathValidator::validate'
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\clone_allocator.hpp(34): note: 'bool xmltooling::OpenSSLPathValidator::validate(X509 *,stack_st_X509 *,const xmltooling::PathValidator::PathValidatorParams &) const': is abstract
      1>  h:\perforce\devel\cpp-xmltooling\xmltooling\security\opensslpathvalidator.h(59): note: see declaration of 'xmltooling::OpenSSLPathValidator::validate'
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\clone_allocator.hpp(68): note: see reference to function template instantiation 'T *boost::new_clone<U>(const T &)' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              U=xmltooling::OpenSSLPathValidator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\reversible_ptr_container.hpp(110): note: see reference to function template instantiation 'U *boost::heap_clone_allocator::allocate_clone<xmltooling::OpenSSLPathValidator>(const U &)' being compiled
      1>          with
      1>          [
      1>              U=xmltooling::OpenSSLPathValidator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\reversible_ptr_container.hpp(99): note: while compiling class template member function 'xmltooling::OpenSSLPathValidator *boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>::allocate_clone(const xmltooling::OpenSSLPathValidator *)'
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\reversible_ptr_container.hpp(95): note: see reference to function template instantiation 'xmltooling::OpenSSLPathValidator *boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>::allocate_clone(const xmltooling::OpenSSLPathValidator *)' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\reversible_ptr_container.hpp(57): note: see reference to class template instantiation 'boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\static_move_ptr.hpp(85): note: see reference to function template instantiation 'void boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>>::operator ()<xmltooling::OpenSSLPathValidator>(const T *) const' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\static_move_ptr.hpp(85): note: see reference to function template instantiation 'void boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>>::operator ()<xmltooling::OpenSSLPathValidator>(const T *) const' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\detail\static_move_ptr.hpp(85): note: while compiling class template member function 'boost::ptr_container_detail::static_move_ptr<xmltooling::OpenSSLPathValidator,boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>>>::~static_move_ptr(void)'
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\ptr_sequence_adapter.hpp(248): note: see reference to function template instantiation 'boost::ptr_container_detail::static_move_ptr<xmltooling::OpenSSLPathValidator,boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>>>::~static_move_ptr(void)' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\ptr_sequence_adapter.hpp(248): note: see reference to class template instantiation 'boost::ptr_container_detail::static_move_ptr<xmltooling::OpenSSLPathValidator,boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<T,VoidPtrSeq>,CloneAllocator>::null_clone_allocator<false>>>' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              VoidPtrSeq=std::vector<void *,std::allocator<void *>>,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\ptr_sequence_adapter.hpp(245): note: while compiling class template member function 'void boost::ptr_sequence_adapter<T,std::vector<void *,std::allocator<_Ty>>,CloneAllocator>::push_back(xmltooling::OpenSSLPathValidator *)'
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              _Ty=void *,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\cpp-xmltooling\xmltooling\security\impl\abstractpkixtrustengine.cpp(165): note: see reference to function template instantiation 'void boost::ptr_sequence_adapter<T,std::vector<void *,std::allocator<_Ty>>,CloneAllocator>::push_back(xmltooling::OpenSSLPathValidator *)' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              _Ty=void *,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\boost_1_60_0\boost\ptr_container\ptr_vector.hpp(35): note: see reference to class template instantiation 'boost::ptr_sequence_adapter<T,std::vector<void *,std::allocator<_Ty>>,CloneAllocator>' being compiled
      1>          with
      1>          [
      1>              T=xmltooling::OpenSSLPathValidator,
      1>              _Ty=void *,
      1>              CloneAllocator=boost::heap_clone_allocator
      1>          ]
      1>  h:\perforce\devel\cpp-xmltooling\xmltooling\security\abstractpkixtrustengine.h(69): note: see reference to class template instantiation 'boost::ptr_vector<xmltooling::OpenSSLPathValidator,boost::heap_clone_allocator,std::allocator<_Ty>>' being compiled
      1>          with
      1>          [
      1>              _Ty=void *
      1>          ]
      1>h:\perforce\devel\boost_1_60_0\boost\ptr_container\clone_allocator.hpp(34): error C2248: 'xmltooling::OpenSSLPathValidator::OpenSSLPathValidator': cannot access private member declared in class 'xmltooling::OpenSSLPathValidator'
      

        Attachments

          Activity

            People

            Assignee:
            cantor.2@osu.edu Scott Cantor
            Reporter:
            rdw@iay.org.uk Rod Widdowson
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour, 30 minutes
                1h 30m