[113226] trunk/dports/python/py-graph-tool/Portfile
Joshua Root
jmr at macports.org
Tue Nov 12 21:56:06 PST 2013
On 2013-11-13 14:27 , Mark Moll wrote:
>
> On Nov 12, 2013, at 5:28 PM, Lawrence Velázquez <larryv at macports.org> wrote:
>
>> On Nov 12, 2013, at 4:43 PM, mmoll at macports.org wrote:
>>
>>> Revision: 113226
>>> https://trac.macports.org/changeset/113226
>>> Author: mmoll at macports.org
>>> Date: 2013-11-12 13:43:58 -0800 (Tue, 12 Nov 2013)
>>> Log Message:
>>> -----------
>>> py-graph-tool: apparently <tuple> is not part of libstdc++ for clang, so force libc++
>>>
>>> Modified Paths:
>>> --------------
>>> trunk/dports/python/py-graph-tool/Portfile
>>>
>>> Modified: trunk/dports/python/py-graph-tool/Portfile
>>> ===================================================================
>>> --- trunk/dports/python/py-graph-tool/Portfile 2013-11-12 21:01:11 UTC (rev 113225)
>>> +++ trunk/dports/python/py-graph-tool/Portfile 2013-11-12 21:43:58 UTC (rev 113226)
>>> @@ -68,6 +68,9 @@
>>> configure.ldflags-append -L${prefix}/lib
>>> configure.args-append --with-boost=${prefix} --exec-prefix=${python.prefix}
>>> configure.cxxflags-append -std=c++11
>>> + if {[string match *clang* ${configure.compiler}]} {
>>> + configure.cxxflags-append -stdlib=libc++
>>> + }
>>> # Clang uses the old libstc++ from gcc 4.2 before OS X 10.9. Boost doesn't
>>> # include some of the tr1 headers in libstdc++ and defines its own tr1
>>> # classes. This causes conflicts with sparsehash which insists on using
>>
>> What happens when this is built on a 10.6 system, which doesn't have libc++?
>
> Right now, it doesn’t seem to build. This particular port depends on other ports that use some advanced C++ (boost and cgal) and you can’t just enable C++11 for one port and not its dependencies, as I found out. I suspect I can’t remove the “-std=c++11” flag and use gcc48 for example, since this would use libstdc++ and boost would be using libc++. The RTTI used by Boost.Python, for example, would cause problems. I can’t think of a good solution for this. For now, the port might be Mavericks only.
Yeah, I believe the eventual goal is to switch everything to libc++ on
10.6+ for this reason. The only way you can get away with using a
different C++ runtime is if you don't link to and are not linked to by
anything else written in C++.
There is a libcxx port for the benefit of 10.6 BTW.
- Josh
More information about the macports-dev
mailing list