On Mon, 2 Sep 2019 at 15:18, Ken Cunningham wrote: > > It's correct base behavior. Base sees a port compiled against libstdc++ on a > system configured to use libc++, and knows this is most often bad, and needs > to be fixed. So it flags this as an error. > > If the portfile author investigates and works out that it's OK for this port > to do that (as it doesn't use with any other c++ libraries or provide any for > other ports to use) then that "error" can be overridden by forcing the > configure.cxx_stdlib in the portfile, and base will stop flagging it.
I tend to disagree. Shouldn't base be able to distinguish between the system libstdc++ and the one from gcc shipped by MacPorts? Why would the base want to rebuild ports that were built with gcc? Also, assume that a port allows compilation with both MacPorts gcc, as well as one of the newer clangs. In that case it's impossible to hardcode the stdlib. It could also be that a particular port was built with gcc based on user (who knows what he's doing) request. Rebuilding those ports would be undesired. Mojca