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_at_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/*: > > > > <list snipped> > > If those ports .include <bsd.port.mk> 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 <bsd.prog.mk> 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. -- IanReceived on Mon Sep 09 2013 - 12:21:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC