On Oct 6, 2020, at 15:00, Ken Cunningham wrote:
> The issue you have here is that clang is trying to build c++14 software
> against the standard headers for the old libstdc++ that comes with Leopard.
> That can't work.
>
> Leopard Intel would usually default to gcc7, which will use it's newer
> libstdc++ by default.
>
> You're trying it with clang-7.0, so it needs to be told to use newer headers
> by setting "-stdlib=" to either libc++ (which you are not using) or
> macports-libstdc++, which we added to clang to allow it to use the newer gcc
> headers.
>
> All this is done in base, but it makes certain assumptions in so doing. There
> should be a setting in the Portfile "compiler.cxx_standard 2014" that forces
> base to add the proper flags if clang is the compiler, but here things are
> relatively less tested on < 10.6 on Intel.
>
> So try gcc7, short answer. If gcc7 doesn't work, then we'll need to see why
> base isn't setting the proper flags. Make sure base is current, of course.
Base sets the right flags. The poppler port ignores them, on some systems. It
needs to be fixed to use them.
For example, here's the log of the build on 10.10 showing that MacPorts flags
like -Os are being set by MacPorts but are not being used by the build.
https://build.macports.org/builders/ports-10.10_x86_64-builder/builds/122524/steps/install-port/logs/stdio
But here's the build on 10.11 showing the flags being used:
https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/120909/steps/install-port/logs/stdio
It's not clear from looking at the portfile why this is happening. Maybe a bad
interaction between portgroups; the port uses many.