On May 26, 2018, at 11:15, Ken Cunningham wrote: > On May 25, 2018, at 12:05 PM, Ryan Schmidt wrote: > >> It's "broken" in that it links with libstdc++, even though MacPorts believes >> it will link with libc++ on your system. The rev-upgrade code in previous >> versions of MacPorts did not check for this kind of "broken". >> >> Fix it by fixing the build system to use the right C++ standard library (the >> one in the ${configure.cxx_stdlib} variable). > > So this particular port comes up with this error probably because the > deployment target is set to 10.6 in the xcode project. > > But there are _lots_ of ports that don’t build with the c++ stdlib specified > in cxx_stdlib. > > These are forced one way or the other in a way that works to fix a problem — > eg. cmake and many others.
Then all of these ports need to be fixed. Either make the port use the C++ standard library that MacPorts sets in configure.cxx_stdlib, or else set configure.cxx_stdlib to the C++ standard library that the port will use (this is acceptable if the port uses no libraries and provides no libraries; mongodb is an example). > Also, on systems with libcxxonoldersystems, xcodebuild will not accept > certain settings on certain systems, even if we know they could work with our > newer compilers. Unfortunately, we have no way to tell Xcode to use one of our compilers. I believe we need to create some kind of Xcode-specific file to tell it about each of our compilers, then update the xcode portgroup to use that. Nobody's done that so far. > We might see quite a few errors with this, I suspect… Then we will have to fix quite a few things.