Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Sep 2013 14:57:01 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        O. Hartmann <ohartman@zedat.fu-berlin.de>
Cc:        freebsd-current@freebsd.org, kde@FreeBSD.org, freebsd-ports@freebsd.org, rakuco@FreeBSD.org
Subject:   Re: ports/181913: devel/qt4-script: /usr/include/c++/v1/type_traits:3175:22: error: call to 'swap' is ambiguous
Message-ID:  <0F2C94E4-A544-482F-A479-B7E70D49E615@FreeBSD.org>
In-Reply-To: <20130908081445.242f77c7@thor.walstatt.dyndns.org>
References:  <201309072249.r87MnsLP052803@freefall.freebsd.org> <20130908081445.242f77c7@thor.walstatt.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_C8BC834B-D4B4-499A-B3FB-15B8AF6524A7
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii

On Sep 8, 2013, at 08:14, O. Hartmann <ohartman@zedat.fu-berlin.de> wrote:
> 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.

Since r255321, -stdlib=libc++ is effectively the default, at least when
you haven't set gcc as the default compiler.  So it also applies to
ports, which unavoidably will lead to a bit of fallout.  My personal
experience is that most C++-based ports compile fine with libc++ instead
of libstdc++, except for a few that rely on internal libstdc++ details.

However, -std=c++11 is *not* yet the default, and C++11 has different
rules here and there, so some ports might fail to compile due to this.
For some ports, too much hacking may be required to make them work with
C++11.  So in case of trouble, try removing -std=, or setting it to
different values (c++0x, c++98, gnu++98, etc), to get the port to
compile.

Note the base system should have no problems with -std=c++11, so please
continue to use the option in src.conf, and report any problems if you
encounter them, so we can fix them. :-)

-Dimitry


--Apple-Mail=_C8BC834B-D4B4-499A-B3FB-15B8AF6524A7
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.20 (Darwin)

iEYEARECAAYFAlIsdCkACgkQsF6jCi4glqPYZACglByQgm4RM9TvDepRBC7a4YCt
pSwAn0nuDJ0yz18iVzHCe0NBGs7AV3EQ
=qYED
-----END PGP SIGNATURE-----

--Apple-Mail=_C8BC834B-D4B4-499A-B3FB-15B8AF6524A7--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0F2C94E4-A544-482F-A479-B7E70D49E615>