[poppler] Poppler provided printf() functions on Windows not language compliant

mathog mathog at caltech.edu
Sun Mar 6 19:22:10 UTC 2016


On 04-Mar-2016 23:39, Adam Reichold wrote:
>> mingw32-g++ -O0 -ggdb  -static-libgcc -static-libstdc++ -o printf_bug
>> printf_bug.c -Lc:\progs\devlibs61/lib -lpoppler

> This looks like you are linking libgcc statically, but load libpoppler
> dynamically? If so, couldn't it be that global data structures from the
> static library and the dependencies on libgcc in libpoppler collide for
> example if the versions do not match? Have you tried to replace with
> libpoppler with any other dynamic link library from the devlibs
> collection that references printf? Have you tried not to link 
> statically
> with libgcc?

The Dr. Memory instructions said to add those two static flags.  The 
problem is evident without them, it just cannot be run in Dr. Memory.  
The

" -Lc:\progs\devlibs61/lib -lpoppler "

part was selected out of the original Inkscape compile line,  which had 
many, many other libraries linked in.  These were eliminated in a binary 
search, testing at each step to see if the bug was still present.  That 
showed that linking in poppler was enough to trigger this issue.

The devlibs people tell me that that the 64 bit of Poppler does not have 
this problem, it is specific for the 32 bit build.

Regards,

David Mathog
mathog at caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech


More information about the poppler mailing list