Bug 230606

Summary: security/nmap: fails to build with libc++ 7
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Olli Hauer <ohauer>
Status: Closed Overcome By Events    
Severity: Affects Only Me Keywords: needs-patch
Priority: --- Flags: bugzilla: maintainer-feedback? (ohauer)
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232934
Bug Depends on:    
Bug Blocks: 230355    

Description Jan Beich freebsd_committer freebsd_triage 2018-08-13 22:08:11 UTC
$ poudriere jail -cj clang7 -a amd64 -v projects/clang700-import -m svn+https
$ poudriere testport -j clang7 security/nmap
[...]
EchoServer.cc:284:81: error: invalid operands to binary expression ('__bind<int &, sockaddr *, unsigned long>' and 'int')
    if( bind(master_sd, (struct sockaddr *)&server_addr6, sizeof(server_addr6)) != 0 ){
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~
/usr/include/c++/v1/utility:566:1: note: candidate template ignored: could not match 'pair' against '__bind'
operator!=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
^
/usr/include/c++/v1/iterator:710:1: note: candidate template ignored: could not match 'reverse_iterator' against '__bind'
operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
^
/usr/include/c++/v1/iterator:932:1: note: candidate template ignored: could not match 'istream_iterator' against '__bind'
operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
^
/usr/include/c++/v1/iterator:1033:6: note: candidate template ignored: could not match 'istreambuf_iterator' against '__bind'
bool operator!=(const istreambuf_iterator<_CharT,_Traits>& __a,
     ^
/usr/include/c++/v1/iterator:1151:1: note: candidate template ignored: could not match 'move_iterator' against '__bind'
operator!=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
^
/usr/include/c++/v1/iterator:1443:5: note: candidate template ignored: could not match '__wrap_iter' against '__bind'
    operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
    ^
/usr/include/c++/v1/iterator:1559:1: note: candidate template ignored: could not match '__wrap_iter' against '__bind'
operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
^
/usr/include/c++/v1/tuple:1147:1: note: candidate template ignored: could not match 'tuple' against '__bind'
operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
^
/usr/include/c++/v1/memory:1976:6: note: candidate template ignored: could not match 'allocator' against '__bind'
bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return false;}
     ^
/usr/include/c++/v1/memory:2951:1: note: candidate template ignored: could not match 'unique_ptr' against '__bind'
operator!=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return !(__x == __y);}
^
/usr/include/c++/v1/memory:2998:1: note: candidate template ignored: could not match 'unique_ptr' against '__bind'
operator!=(const unique_ptr<_T1, _D1>& __x, nullptr_t) _NOEXCEPT
^
/usr/include/c++/v1/memory:3006:1: note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'int'
operator!=(nullptr_t, const unique_ptr<_T1, _D1>& __x) _NOEXCEPT
^
/usr/include/c++/v1/memory:4786:1: note: candidate template ignored: could not match 'shared_ptr' against '__bind'
operator!=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
^
/usr/include/c++/v1/memory:4848:1: note: candidate template ignored: could not match 'shared_ptr' against '__bind'
operator!=(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
^
/usr/include/c++/v1/memory:4856:1: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'int'
operator!=(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
^
/usr/include/c++/v1/functional:1962:1: note: candidate template ignored: could not match 'function' against '__bind'
operator!=(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return (bool)__f;}
^
/usr/include/c++/v1/functional:1967:1: note: candidate template ignored: could not match 'function<type-parameter-0-0 (type-parameter-0-1...)>' against 'int'
operator!=(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return (bool)__f;}
^
/usr/include/c++/v1/vector:3349:1: note: candidate template ignored: could not match 'vector' against '__bind'
operator!=(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
^
/usr/include/c++/v1/string_view:642:6: note: candidate template ignored: could not match 'basic_string_view' against '__bind'
bool operator!=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
     ^
/usr/include/c++/v1/string_view:651:6: note: candidate template ignored: could not match 'basic_string_view' against '__bind'
bool operator!=(basic_string_view<_CharT, _Traits> __lhs,
     ^
/usr/include/c++/v1/string_view:661:6: note: candidate template ignored: could not match 'basic_string_view<type-parameter-0-0, type-parameter-0-1>' against 'int'
bool operator!=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs, 
     ^
/usr/include/c++/v1/string:563:6: note: candidate template ignored: could not match 'fpos' against '__bind'
bool operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y)
     ^
/usr/include/c++/v1/string:3849:1: note: candidate template ignored: could not match 'basic_string' against '__bind'
operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
^
/usr/include/c++/v1/string:3858:1: note: candidate template ignored: could not match 'const _CharT *' against '__bind<int &, sockaddr *, unsigned long>'
operator!=(const _CharT* __lhs,
^
/usr/include/c++/v1/string:3867:1: note: candidate template ignored: could not match 'basic_string' against '__bind'
operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
^

http://package18.nyi.freebsd.org/data/headamd64PR230355-default/2018-08-11_19h01m06s/logs/errors/nmap-7.70.log
Comment 1 Jan Beich freebsd_committer freebsd_triage 2018-08-13 22:14:18 UTC
C++11 strikes again after https://reviews.llvm.org/rL322019. See discussion in bug 224669 comment 13 (and later) for possible fixes.
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2018-11-03 22:46:48 UTC
A patch is available in newer PR 232934.