vgough/encfs

Does not build with Clang / libc++ 13

brad0 opened this issue · 0 comments

brad0 commented

EncFS does not build with Clang / libc++ 13.

/usr/obj/ports/encfs-1.9.5/encfs-1.9.5/encfs/NullCipher.cpp:81:36: error: no matching constructor for initialization of 'std::shared_ptr<AbstractCipherKey>'
std::shared_ptr<AbstractCipherKey> gNullKey(new NullKey(), NullDestructor());
                                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__memory/shared_ptr.h:469:26: note: candidate constructor template not viable: no known conversion from 'encfs::NullKey *' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d);
                         ^
/usr/include/c++/v1/__memory/shared_ptr.h:464:9: note: candidate template ignored: requirement '__shared_ptr_deleter_ctor_reqs<encfs::NullDestructor, encfs::NullKey, encfs::AbstractCipherKey>::value' was not satisfied [with _Yp = encfs::NullKey, _Dp = encfs::NullDestructor]
        shared_ptr(_Yp* __p, _Dp __d,
        ^
/usr/include/c++/v1/__memory/shared_ptr.h:471:51: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
    template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT;
                                                  ^
/usr/include/c++/v1/__memory/shared_ptr.h:476:9: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
        shared_ptr(const shared_ptr<_Yp>& __r,
        ^
/usr/include/c++/v1/__memory/shared_ptr.h:481:52: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
    template<class _Yp> _LIBCPP_INLINE_VISIBILITY  shared_ptr(shared_ptr<_Yp>&& __r,
                                                   ^
/usr/include/c++/v1/__memory/shared_ptr.h:484:34: note: candidate template ignored: could not match 'weak_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
    template<class _Yp> explicit shared_ptr(const weak_ptr<_Yp>& __r,
                                 ^
/usr/include/c++/v1/__memory/shared_ptr.h:488:9: note: candidate template ignored: could not match 'auto_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
        shared_ptr(auto_ptr<_Yp>&& __r,
        ^
/usr/include/c++/v1/__memory/shared_ptr.h:492:9: note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'encfs::NullKey *'
        shared_ptr(unique_ptr<_Yp, _Dp>&&,
        ^
/usr/include/c++/v1/__memory/shared_ptr.h:500:9: note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'encfs::NullKey *'
        shared_ptr(unique_ptr<_Yp, _Dp>&&,
        ^
/usr/include/c++/v1/__memory/shared_ptr.h:441:23: note: candidate constructor not viable: requires 1 argument, but 2 were provided
    _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT;
                      ^
/usr/include/c++/v1/__memory/shared_ptr.h:454:14: note: candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
    explicit shared_ptr(_Yp* __p) : __ptr_(__p) {
             ^
/usr/include/c++/v1/__memory/shared_ptr.h:473:5: note: candidate constructor not viable: requires single argument '__r', but 2 arguments were provided
    shared_ptr(const shared_ptr& __r) _NOEXCEPT;
    ^
/usr/include/c++/v1/__memory/shared_ptr.h:480:5: note: candidate constructor not viable: requires single argument '__r', but 2 arguments were provided
    shared_ptr(shared_ptr&& __r) _NOEXCEPT;
    ^
/usr/include/c++/v1/__memory/shared_ptr.h:470:40: note: candidate constructor template not viable: requires 3 arguments, but 2 were provided
    template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a);
                                       ^
/usr/include/c++/v1/__memory/shared_ptr.h:439:23: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    _LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT;
                      ^
/usr/include/c++/v1/__memory/shared_ptr.h:467:9: note: candidate constructor template not viable: requires at least 3 arguments, but 2 were provided
        shared_ptr(_Yp* __p, _Dp __d, _Alloc __a,
        ^
In file included from /usr/obj/ports/encfs-1.9.5/encfs-1.9.5/encfs/NullCipher.cpp:21:
In file included from /usr/obj/ports/encfs-1.9.5/encfs-1.9.5/encfs/NullCipher.h:26:
In file included from /usr/obj/ports/encfs-1.9.5/encfs-1.9.5/encfs/Cipher.h:31:
/usr/obj/ports/encfs-1.9.5/encfs-1.9.5/encfs/Interface.h:60:14: warning: definition of implicit copy constructor for 'Interface' is deprecated because it has a user-provided copy assignment operator [-Wdeprecated-copy-with-user-provided-copy]
  Interface &operator=(const Interface &src);
             ^
/usr/obj/ports/encfs-1.9.5/encfs-1.9.5/encfs/NullCipher.cpp:87:50: note: in implicit copy constructor for 'encfs::Interface' first required here
Interface NullCipher::interface() const { return iface; }
                                                 ^
1 warning and 1 error generated.