From owner-svn-ports-head@freebsd.org Fri Jan 29 07:46:11 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF392A71E21; Fri, 29 Jan 2016 07:46:11 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E51011BED; Fri, 29 Jan 2016 07:46:11 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id E47BA11C0; Fri, 29 Jan 2016 07:46:11 +0000 (UTC) Date: Fri, 29 Jan 2016 07:46:11 +0000 From: Alexey Dokuchaev To: "Vanilla I. Shu" Cc: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r407452 - head/devel/pure-stldict Message-ID: <20160129074611.GA43436@FreeBSD.org> References: <201601290609.u0T69WQO078557@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201601290609.u0T69WQO078557@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jan 2016 07:46:12 -0000 On Fri, Jan 29, 2016 at 06:09:32AM +0000, Vanilla I. Shu wrote: > New Revision: 407452 > URL: https://svnweb.freebsd.org/changeset/ports/407452 > > Log: > Fix broken on 9. There are several problems with this commit. :( Commit message does not tell us anything about the underlying problem, we can only make guesses that it's likely related to the base GCC 4.2. At this point, because of essentially missing commit log, we have to look inside the Makefile: % CXXFLAGS+= -std=c++0x -DHAVE_STD_IS_PERMUTATION And the build error message with base GCC: cc1plus: error: unrecognized command line option "-std=c++0x" It suggests that the code conforms to C++0x and thus requires capable compiler (at least). > +.include > + > +.if ${OSVERSION} <= 1000000 Strange OSVERSION; apparently it was supposed to reflect the moment when Clang had become the default compiler? If so, it should've been 1000024. If you want/need Clang together with libc++, then it is 1000054. Quick test with CXX=clang++ on 9.3, as well as compiler:c++0x/c++11-lang, showed that compiler alone is not enough (see below). > +USE_GCC= 4.9 4.9 seems strange; C++0x had appeared much earlier (`lang/pure' itself is built with gcc48 on 9.3). Requesting specific version is not welcome, and should be adequately explained (if some port really does require new GCC, your first attempt should be USE_GCC=yes) in the commit log. More to it, requesting GCC here is bogus: what the port really wants is compiler understanding C++11 and C++11-ready standard library. Consider replacing bogus USE_GCC with USES+=compiler:c++11-lib. (Fixed the build on 9.3 for me, with gcc48 as expected, and is no-op on 10.2 and -CURRENT.) ./danfe