From owner-freebsd-current@FreeBSD.ORG Mon Sep 9 14:21:40 2013 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 096D658A; Mon, 9 Sep 2013 14:21:40 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CECD329B5; Mon, 9 Sep 2013 14:21:39 +0000 (UTC) Received: from c-24-8-230-52.hsd1.co.comcast.net ([24.8.230.52] helo=damnhippie.dyndns.org) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1VJ2LS-000DRD-JO; Mon, 09 Sep 2013 14:21:38 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id r89ELaNL001826; Mon, 9 Sep 2013 08:21:36 -0600 (MDT) (envelope-from ian@FreeBSD.org) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 24.8.230.52 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX18hEOsvWEOWeLvfkFR7TDyu Subject: Re: ports/181913: devel/qt4-script: /usr/include/c++/v1/type_traits:3175:22: error: call to 'swap' is ambiguous From: Ian Lepore To: Stefan Esser In-Reply-To: <1378734704.1111.558.camel@revolution.hippie.lan> References: <201309072249.r87MnsLP052803@freefall.freebsd.org> <20130908081445.242f77c7@thor.walstatt.dyndns.org> <522D7162.5090806@freebsd.org> <1378734704.1111.558.camel@revolution.hippie.lan> Content-Type: text/plain; charset="us-ascii" Date: Mon, 09 Sep 2013 08:21:35 -0600 Message-ID: <1378736495.1111.560.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: "O. Hartmann" , freebsd-current@FreeBSD.org, kde@FreeBSD.org, freebsd-ports@FreeBSD.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2013 14:21:40 -0000 On Mon, 2013-09-09 at 07:51 -0600, Ian Lepore wrote: > On Mon, 2013-09-09 at 08:57 +0200, Stefan Esser wrote: > > Am 08.09.2013 08:14, schrieb O. Hartmann: > > > On Sat, 7 Sep 2013 22:49:54 GMT rakuco@FreeBSD.org wrote: > > > > > >> Synopsis: devel/qt4-script: > > >> /usr/include/c++/v1/type_traits:3175:22: error: call to 'swap' is > > >> ambiguous > > >> > > >> State-Changed-From-To: open->patched State-Changed-By: rakuco > > >> State-Changed-When: Sat Sep 7 22:47:43 UTC 2013 > > >> State-Changed-Why: I don't think the previous version worked. > > >> > > >> From your description, it looks like you've switched to building > > >> with libc++ whereas libstdc++ was being used before. > > >> > > >> The upcoming Qt 4.8.5 plus a few patches which only made it to > > >> 4.8.6 (but we've backported) will finally make Qt build with > > >> libc++. > > >> > > >> We've just sent an exp-run request for Qt 4.8.5, and will > > >> hopefully fix all these errors once it is committed. > > >> > > >> http://www.freebsd.org/cgi/query-pr.cgi?pr=181913 > > > > > > > > > I build the world/kernel since early this year with > > > > > > CXXFLAGS+= -stdlib=libc++ CXXFLAGS+= > > > -std=c++11 > > > > > > > > > in /etc/src.conf. I do not use those flags in /etc/make.conf! > > > /etc/src.conf is supposed to target ONLY the /usr/src world, not > > > the ports - this is as I interpret the man page for /etc/src.conf > > > and it would be logical. But this rule/thinking seems to be broken > > > by some includes from /usr/ports/Mk ingredients. > > > > There are ports that use bsd.prog.mk instead of the Makefile supplied > > with the source files. Just grep for bsd.port.mk in the port's "files" > > sub directory, if you find that /etc/src.conf settings affect a port. > > > > I think these ports are in violation of POLA and had a longer mail > > exchange with a port maintainer, who told me that use of bsd.prog.mk > > was the preferred method to build binaries on FreeBSD, for base and > > for ports. > > > > So no file under /usr/ports/Mk is to blame, but some ports do > > implicitly reference /etc/src.conf via their use of bsd.prog.mk. > > > > Regards, STefan > > > > NB: I just performed the grep suggested above and found that the > > following ports mention bsd.prog.mk in files/*: > > > > > > If those ports .include before bsd.prog.mk, I think > everything should work properly. It looks like src.conf is an "opt-out" > system, and bsd.port.mk sets the variable to opt out. > > I don't especially like this (opt-in would be better), but I don't see > an easy fix either. We use bsd.prog.mk at $work (I'd better go add the > opt-out now), it seems like others probably do the same. > > It would be much better if the base build opted in, but the only way I > can see to do that would be to install a "makefile.up" system where a > makefile.up in every directory under the base src allows "walking up" to > the top of the src hierarchy no matter where the build is started from, > so that you can always get some top-level file to do the opt-in. Hrm. I take that back. You can't set _WITHOUT_SRCCONF and then .include and expect anything to work. For some reason all the setting of the MK_whatever knobs is disabled by setting _WITHOUT_SRCCONF, and without all those things defined, the rest of the bsd.*.mk files don't work. ::sigh:: What a mess. -- Ian