Failure to compile Poppler - 10.5
Ryan Schmidt
ryandesign at macports.org
Thu Oct 8 06:51:30 UTC 2020
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.
More information about the macports-users
mailing list