Re: [113226] trunk/dports/python/py-graph-tool/Portfile
On 2013-11-13 14:27 , Mark Moll wrote: > > On Nov 12, 2013, at 5:28 PM, Lawrence Velázquez wrote: > >> On Nov 12, 2013, at 4:43 PM, mm...@macports.org wrote: >> >>> Revision: 113226 >>> https://trac.macports.org/changeset/113226 >>> Author: mm...@macports.org >>> Date: 2013-11-12 13:43:58 -0800 (Tue, 12 Nov 2013) >>> Log Message: >>> --- >>> py-graph-tool: apparently 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 ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev
Re: [113226] trunk/dports/python/py-graph-tool/Portfile
On Nov 12, 2013, at 9:27 PM, Mark Moll wrote: > > On Nov 12, 2013, at 5:28 PM, Lawrence Velázquez wrote: > >> On Nov 12, 2013, at 4:43 PM, mm...@macports.org wrote: >> >>> Revision: 113226 >>>https://trac.macports.org/changeset/113226 >>> Author: mm...@macports.org >>> Date: 2013-11-12 13:43:58 -0800 (Tue, 12 Nov 2013) >>> Log Message: >>> --- >>> py-graph-tool: apparently 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. Actually, one solution would be to keep the version clamped at the latest official release (2.2.26) for 10.8 and older, since the C++11-compatible code can’t be made to work easily (at least, I don’t see how). On 10.9, none of the official releases work and only the C++11 branch of the git repo of graph-tool works. Assuming this will be merged in default, all future versions would only be available on 10.9. -- Mark Moll ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev
Re: [113226] trunk/dports/python/py-graph-tool/Portfile
On Nov 12, 2013, at 5:28 PM, Lawrence Velázquez wrote: > On Nov 12, 2013, at 4:43 PM, mm...@macports.org wrote: > >> Revision: 113226 >> https://trac.macports.org/changeset/113226 >> Author: mm...@macports.org >> Date: 2013-11-12 13:43:58 -0800 (Tue, 12 Nov 2013) >> Log Message: >> --- >> py-graph-tool: apparently 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. -- Mark Moll ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev
Re: [113226] trunk/dports/python/py-graph-tool/Portfile
On Nov 12, 2013, at 4:43 PM, mm...@macports.org wrote: > Revision: 113226 > https://trac.macports.org/changeset/113226 > Author: mm...@macports.org > Date: 2013-11-12 13:43:58 -0800 (Tue, 12 Nov 2013) > Log Message: > --- > py-graph-tool: apparently 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/Portfile2013-11-12 21:01:11 UTC > (rev 113225) > +++ trunk/dports/python/py-graph-tool/Portfile2013-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++? vq ___ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev