Failure to build news/pan on FreeBSD 10 Release amd64

Andrew Terekhov andrew.v.terekhov at gmail.com
Sat Feb 8 21:52:44 UTC 2014


Hi,

I get the following compilation error:

  CXX    file-util.o
In file included from file-util.cc:38:
In file included from ./log.h:26:
/usr/include/c++/v1/deque:907:49: error: invalid application of 'sizeof' to
an incomplete type 'value_type' (aka 'pan::Log::Entry')
    static const difference_type __block_size = sizeof(value_type) < 256 ?
4096 / sizeof(value_type) : 16;
                                                ^~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/deque:1178:15: note: in instantiation of template class
'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >' requested here
    : private __deque_base<_Tp, _Allocator>
              ^
./log.h:52:27: note: in instantiation of template class
'std::__1::deque<pan::Log::Entry, std::__1::allocator<pan::Log::Entry> >'
requested here
        std::deque<Entry> messages;
                          ^
./log.h:49:14: note: definition of 'pan::Log::Entry' is not complete until
the closing '}'
      struct Entry {
             ^
In file included from file-util.cc:38:
In file included from ./log.h:26:
/usr/include/c++/v1/deque:1188:30: error: '__alloc_traits' is a protected
member of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::__alloc_traits        __alloc_traits;
                             ^
./log.h:52:27: note: in instantiation of template class
'std::__1::deque<pan::Log::Entry, std::__1::allocator<pan::Log::Entry> >'
requested here
        std::deque<Entry> messages;
                          ^
/usr/include/c++/v1/deque:899:54: note: declared protected here
    typedef allocator_traits<allocator_type>         __alloc_traits;
                                                     ^
/usr/include/c++/v1/deque:1189:30: error: 'reference' is a protected member
of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::reference             reference;
                             ^
/usr/include/c++/v1/deque:900:54: note: declared protected here
    typedef value_type&                              reference;
                                                     ^
/usr/include/c++/v1/deque:1190:30: error: 'const_reference' is a protected
member of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::const_reference       const_reference;
                             ^
/usr/include/c++/v1/deque:901:54: note: declared protected here
    typedef const value_type&                        const_reference;
                                                     ^
/usr/include/c++/v1/deque:1191:30: error: 'iterator' is a protected member
of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::iterator              iterator;
                             ^
/usr/include/c++/v1/deque:929:64: note: declared protected here
                             difference_type, __block_size>    iterator;
                                                               ^
/usr/include/c++/v1/deque:1192:30: error: 'const_iterator' is a protected
member of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::const_iterator        const_iterator;
                             ^
/usr/include/c++/v1/deque:931:64: note: declared protected here
                             difference_type, __block_size>
 const_iterator;
                                                               ^
/usr/include/c++/v1/deque:1193:30: error: 'size_type' is a protected member
of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::size_type             size_type;
                             ^
/usr/include/c++/v1/deque:902:54: note: declared protected here
    typedef typename __alloc_traits::size_type       size_type;
                                                     ^
/usr/include/c++/v1/deque:1194:30: error: 'difference_type' is a protected
member of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::difference_type       difference_type;
                             ^
/usr/include/c++/v1/deque:903:54: note: declared protected here
    typedef typename __alloc_traits::difference_type difference_type;
                                                     ^
/usr/include/c++/v1/deque:1196:30: error: 'pointer' is a protected member
of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::pointer               pointer;
                             ^
/usr/include/c++/v1/deque:904:54: note: declared protected here
    typedef typename __alloc_traits::pointer         pointer;
                                                     ^
/usr/include/c++/v1/deque:1197:30: error: 'const_pointer' is a protected
member of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::const_pointer         const_pointer;
                             ^
/usr/include/c++/v1/deque:905:54: note: declared protected here
    typedef typename __alloc_traits::const_pointer   const_pointer;
                                                     ^
/usr/include/c++/v1/deque:1351:30: error: '__map_const_pointer' is a
protected member of 'std::__1::__deque_base<pan::Log::Entry,
std::__1::allocator<pan::Log::Entry> >'
    typedef typename __base::__map_const_pointer __map_const_pointer;
                             ^
/usr/include/c++/v1/deque:925:81: note: declared protected here
    typedef typename
allocator_traits<__const_pointer_allocator>::const_pointer
__map_const_pointer;

    ^
11 errors generated.
gmake[4]: *** [file-util.o] Error 1
gmake[4]: Leaving directory
`/wrkdirs/usr/ports/news/pan/work/pan-0.139/pan/general'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/wrkdirs/usr/ports/news/pan/work/pan-0.139/pan'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/wrkdirs/usr/ports/news/pan/work/pan-0.139'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/wrkdirs/usr/ports/news/pan/work/pan-0.139'
*** Error code 1

Stop.
make: stopped in /usr/ports/news/pan


I don't have anything in etc/make.conf. Full build log is attached. Do I
need to file a PR?

Thanks,
Andrew


More information about the freebsd-gnome mailing list