Opened 3 years ago

Closed 3 years ago

#63539 closed defect (fixed)

poppler: fails to build on Leopard with undefined symbols due to old gperf

Reported by: rmottola (Riccardo) Owned by: evanmiller (Evan Miller)
Priority: Normal Milestone:
Component: ports Version:
Keywords: leopard Cc: dbevans (David B. Evans)
Port: poppler

Description

Poppler fails on 10.5 with these missing symbols:

I am compiling with gcc7 (since clang has infamous realpath issue)

here on i386

 
Undefined symbols for architecture i386:
  "_ZapfDingbatsWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_CourierWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_TimesRomanWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_SymbolWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_CourierObliqueWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_CourierBoldObliqueWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_HelveticaBoldObliqueWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_HelveticaObliqueWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_TimesBoldWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_CourierBoldWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_HelveticaBoldWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_TimesItalicWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_TimesBoldItalicWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
  "_HelveticaWidthsLookup", referenced from:
      builtinFonts       in GfxFont.cc.o
ld: symbol(s) not found for architecture i386
collect2: error: ld returned 1 exit status
make[2]: *** [libpoppler.105.0.0.dylib] Error 1

reproduceable on both i386 and PPC!

Attachments (1)

main.log (346.8 KB) - added by rmottola (Riccardo) 3 years ago.
PPC Build Log

Download all attachments as: .zip

Change History (11)

Changed 3 years ago by rmottola (Riccardo)

Attachment: main.log added

PPC Build Log

comment:1 Changed 3 years ago by kencu (Ken)

BTW -- I fixed the realpath issue with clang-7.0 with this patch (I hope! -- works for me!)

https://github.com/macports/macports-ports/blob/master/lang/llvm-7.0/files/2003-patch-clang-7.0-allow-asm-redefinition.diff

I hope to someday come up with a better fix, but this works for now.

comment:2 Changed 3 years ago by kencu (Ken)

Interesting bug report, looks possibly related:

https://gitlab.freedesktop.org/poppler/poppler/-/issues/883

comment:3 Changed 3 years ago by kencu (Ken)

FYI, poppler installed on Leopard Intel for me (after the snowmath.h fix):

 port -v installed poppler
The following ports are currently installed:
  poppler @20.12.1_3+boost (active) requested_variants='' platform='darwin 9' archs='i386' date='2021-09-27T18:43:04-0700'

it built with clang-7.0. Trying with gcc7 now.

comment:4 Changed 3 years ago by kencu (Ken)

gcc7 built it too. Hmmm. I do have MacPorts gperf installed ...

comment:5 Changed 3 years ago by kencu (Ken)

Yep, that's it.

It's gperf.

Build fails if MacPorts' gperf is not installed. I guess the one that comes with Leopard is too old.

comment:6 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: poppler removed
Summary: poppler fails to build on 10.5 Lion / undefined symbolspoppler: fails to build on Leopard with undefined symbols

comment:7 Changed 3 years ago by kencu (Ken)

Summary: poppler: fails to build on Leopard with undefined symbolspoppler: fails to build on Leopard with undefined symbols due to old gperf

comment:8 Changed 3 years ago by rmottola (Riccardo)

I confirm, both on PPC and i386 I built poppler after having installed gperf.

Maybe we can add a dependency for older Macs?

comment:9 Changed 3 years ago by jmroot (Joshua Root)

Easier to turn off regenerating the files so it doesn't need gperf at all, I think. -DRUN_GPERF_IF_PRESENT=OFF according to the upstream bug Ken linked.

comment:10 Changed 3 years ago by evanmiller (Evan Miller)

Owner: set to evanmiller
Resolution: fixed
Status: newclosed

In 5a727c78e7d535808da920a4682b4ceca797a81e/macports-ports (master):

poppler: fix build with GCC7

Closes: #63539
Closes: #64652

Note: See TracTickets for help on using tickets.