On Mar 22, 2018, at 20:23, Kenneth F. Cunningham wrote: > On 2018-03-22, at 5:11 PM, Ryan Schmidt wrote: > >> There are already ports out there, and installed on user systems, and >> binaries being distributed that were built by our buildbot, that were built >> with a MacPorts gcc without -D_GLIBCXX_USE_CXX11_ABI=0 set. These would be >> ports that do not use the cxx11 1.1 portgroup and that don't use C++11. > > I can't help but think that any ports where the change in LIBCXX ABI was an > issue have been identified as build failures on the buildbots < 10.9, and the > cxx11 1.1 PG was added. > > Any of the very few others I might have upgraded separately to build with > gcc6 on PPC for C11 or other reasons, aren't using the changed c++11 features > of libstdc++ anyway, or they would be in the cxx11 1.1 PG. > > So - do they all really need to be rebuilt? I'm trying to think if there are > any cases of incompatibility that might slip through this logic, and none are > coming to mind just now….
I am not talking about ports that require C++11 which are already using the cxx11 1.1 portgroup which forces the use of the old ABI. I am talking about ports that do not require C++11, but which are configured to build using a MacPorts gcc for whatever reason, and which therefore at present are using the new ABI. To get a list of portfiles that explicitly set the compiler to a MacPorts gcc, run: port file all|sort -u|xargs grep -l 'configure\.compiler.*macports-gcc' Not all of these use C++. Many of them may be doing this because they contain Fortran or Java code. But gigabase, for example, mentions C++ in its description. For a list of portfiles that use the compilers 1.0 portgroup, which creates compiler variants, which might include gcc variants if requested by the port, run: port file all|sort -u|xargs grep -l 'PortGroup.*compilers.*1\.0' Again probably not all of these contain C++ code, but I'll bet some of them do.