Linking issue with mingw after changes to gperf file handling
libpoppler 0.83 worked fine with mingw on the KDE binary factory, with the current release 0.85 e.g. the KDE binary factory produces the following error:
[2020-02-12T19:18:18.589Z] cmd.exe /C "cd . && C:\Craft\BinaryCache\windows-mingw_64-gcc\mingw64\bin\g++.exe -Wall -Wextra -Wpedantic -Wno-unused-parameter -Wcast-align -Wformat-security -Wframe-larger-than=65536 -Wlogical-op -Wmissing-format-attribute -Wnon-virtual-dtor -Woverloaded-virtual -Wmissing-declarations -Wundef -Wzero-as-null-pointer-constant -Wshadow -Wsuggest-override -fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE -O2 -g -Wl,--as-needed -shared -o libpoppler-95.dll -Wl,--out-implib,libpoppler.dll.a -Wl,--major-image-version,95,--minor-image-version,0 @CMakeFiles\poppler.rsp && cd ."
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x16c0): undefined reference to `CourierWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x16e8): undefined reference to `CourierBoldWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1710): undefined reference to `CourierBoldObliqueWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1738): undefined reference to `CourierObliqueWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1760): undefined reference to `HelveticaWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1788): undefined reference to `HelveticaBoldWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x17b0): undefined reference to `HelveticaBoldObliqueWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x17d8): undefined reference to `HelveticaObliqueWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1800): undefined reference to `SymbolWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1828): undefined reference to `TimesBoldWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1850): undefined reference to `TimesBoldItalicWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x1878): undefined reference to `TimesItalicWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x18a0): undefined reference to `TimesRomanWidthsLookup'
[2020-02-12T19:18:18.589Z] CMakeFiles/poppler.dir/poppler/GfxFont.cc.obj:GfxFont.cc:(.rdata+0x18c8): undefined reference to `ZapfDingbatsWidthsLookup'
[2020-02-12T19:18:18.589Z] collect2.exe: error: ld returned 1 exit status
[2020-02-12T19:18:18.589Z] ninja: build stopped: subcommand failed.
[2020-02-12T19:18:18.589Z] Command "C:\Craft\BinaryCache\windows-mingw_64-gcc\dev-utils\bin\ninja.exe" failed with exit code 1[consoleText.txt](/uploads/926116bec0c81d7f5ee9c9aa2140ff71/consoleText.txt)
I guess this can be traced back to this change:
https://cgit.freedesktop.org/poppler/poppler/commit/?id=22a334bbf55c900b3efff12a3a676bd14b18decd
Full compile output attached.
I assume some linkage is not correct, thought I could be mistaken.
Edited by Christoph Cullmann