Bug 219298 - irc/ezbounce: fails to build with lang/gcc6 or later
Summary: irc/ezbounce: fails to build with lang/gcc6 or later
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Raphael Kubo da Costa
URL:
Keywords: needs-qa
Depends on:
Blocks: 219275
  Show dependency treegraph
 
Reported: 2017-05-14 22:32 UTC by Jan Beich
Modified: 2017-08-01 09:02 UTC (History)
3 users (show)

See Also:
jbeich: maintainer-feedback? (portmaster)
rakuco: merge-quarterly-


Attachments
Proposed patch (302 bytes, patch)
2017-07-26 17:50 UTC, Raphael Kubo da Costa
koobs: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer freebsd_triage 2017-05-14 22:32:21 UTC
src/authorizer.cc: In member function 'int authorizer::login_connection(conn*, const char*, const char*)':
src/authorizer.cc:157:21: error: call of overloaded 'copy_if(std::vector<ruleset*>::iterator, std::vector<ruleset*>::iterator, std::back_insert_iterator<std::vector<ruleset*> >, match_helper)' is ambiguous
   match_helper(this));
                     ^
In file included from src/authorizer.cc:15:0:
include/util/generic.h:84:6: note: candidate: Out util::copy_if(In, In, Out, Pred) [with In = __gnu_cxx::__normal_iterator<ruleset**, std::vector<ruleset*> >; Out = std::back_insert_iterator<std::vector<ruleset*> >; Pred = match_helper]
  Out copy_if(In first, In last, Out res, Pred p)
      ^~~~~~~
In file included from /usr/local/lib/gcc6/include/c++/algorithm:62:0,
                 from src/authorizer.cc:14:
/usr/local/lib/gcc6/include/c++/bits/stl_algo.h:734:5: note: candidate: _OIter std::copy_if(_IIter, _IIter, _OIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<ruleset**, std::vector<ruleset*> >; _OIter = std::back_insert_iterator<std::vector<ruleset*> >; _Predicate = match_helper]
     copy_if(_InputIterator __first, _InputIterator __last,
     ^~~~~~~

build log: http://sprunge.us/PicF
Comment 1 Raphael Kubo da Costa freebsd_committer freebsd_triage 2017-07-26 17:50:18 UTC
Created attachment 184746 [details]
Proposed patch

The attached patch forces the use of an older C++ standard to fix the build; since the project seems to be unmaintained upstream I don't think it's worth making the code work with C++11.
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2017-08-01 04:48:37 UTC
Comment on attachment 184746 [details]
Proposed patch

Approved by: portmgr (blanket, build/run-time fixes)
Comment 3 commit-hook freebsd_committer freebsd_triage 2017-08-01 09:01:59 UTC
A commit references this bug:

Author: rakuco
Date: Tue Aug  1 09:01:14 UTC 2017
New revision: 447014
URL: https://svnweb.freebsd.org/changeset/ports/447014

Log:
  Explicitly build with -std=gnu++03.

  This fixes the build with GCC 6, which defaults to -std=gnu++14. The project,
  which seems to be unmaintained upstream, is incompatible with C++11 and later.

  PR:		219298
  Approved by:	portmgr (blanket approval)

Changes:
  head/irc/ezbounce/Makefile
Comment 4 Raphael Kubo da Costa freebsd_committer freebsd_triage 2017-08-01 09:02:53 UTC
Setting merge-quarterly-. The rationale from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219484#c23 also applies to this bug.