[MacPorts] #73696: poppler @26.02.0_0: Undefined symbols __ZN5GpgME4Data8toStringB5cxx11Ev __ZNK5GpgME5Error11asStdStringB5cxx11Ev
MacPorts
noreply at macports.org
Sun Sep 13 23:27:39 UTC 2026
#73696: poppler @26.02.0_0: Undefined symbols __ZN5GpgME4Data8toStringB5cxx11Ev
__ZNK5GpgME5Error11asStdStringB5cxx11Ev
-------------------------+-------------------------------------------------
Reporter: | Owner: dbevans
jrandall814 |
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.12.4
Resolution: | Keywords: lion mountainlion mavericks
Port: poppler | yosemite elcapitan sierra highsierra mojave
-------------------------+-------------------------------------------------
Comment (by PotMJ):
Replying to [comment:33 rmottola]:
> Then I tried adapting @potmj script.
> I just extracted the patching part in a file. So I could run it once
upgrade fails & re-run it.
> Remove the GCC patch of course.
>
Apologies for not replying sooner, but I have been deeply focused on
`libcxx` bootstrap issues and do not expect to revisit `poppler` in the
immediate future.
Thank you for looking at my Portfile solution. However, the Portfile and
upstream poppler version moved on right around the time I submitted my
10.11 fix. The Portfile currently relies on some quite heavy translations
to roll back modern C23 coding conventions that are simply not supported
by the older compilers suited to 10.11.
My solution focused on providing a `+universal` solution. Because
`poppler` is a foundation library, I feel libraries should be built to
match the multi-architecture layout shipped with the OS itself whenever
possible. There are known shortcomings with the `i386` C++ runtime
support on 10.11, so a methodology was developed specifically to work
around those missing system hooks. The ideas or code snippets might be
able to be applied by others in situations where there are only a few
holes in the `i386` support, blocking `+universal` builds. This was one
of the drivers behind the publishing of the Portfile.
I worry that my initial approach was a bit of a "whack-a-mole" strategy.
Although it successfully produced a functional `+universal` installation
for me on 10.11 at the time, as the upstream poppler code continues to
advance, more C23 dependencies will inevitably keep appearing.
I wonder if the sustainable path forward is, in fact, to utilize `gcc15`
configured with `-stdlib=libc++` to leverage the modern Clang runtime
library for final application compatibility. The only other choice going
forward is to force an incredibly heavy, modern Clang bootstrap.
Ultimately, `gcc15` might provide superior `+universal` cross-compilation
stability by making fewer broken architecture demands on the baseline
`libc++` layer.
--
Ticket URL: <https://trac.macports.org/ticket/73696#comment:36>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list