On 10/8/07, Martin Schröder
2007/10/6, George N. White III
:
Why not file a bug report against gcc and wait a while to see if clarity emerges? It may be a plain bug in gcc so the code can be left as is and the flags changed until most people have the fixed version, or a case where the optimizer sometimes makes bad choices and you are better off changing the code to circumvent the issue.
I did better: I asked the gcc experts for help -- and got it. See http://gcc.gnu.org/ml/gcc-help/2007-10/msg00076.html and the followups
Christoph Bartoschek deserves our thanks. I can confirm that building
pdftoeps.o with
-DDISABLE_OUTLINE fixes the pdf file inclusion error.
The problem is quite easy to see once you know where to look -- for the
record, the problem is the build system which allowed PDFDoc.h to be
compiled with different macro definitions. In a build log, compare the
definitions used to build in libs/xpdf/xpdf with those used for pdftoepdf.cc.
The #defines in question are set in src/libs/xpdf/xpdf/Makefile.in, so there
is no easy way for autoconf in pdftexdir to find them. You could just copy
the flags from libs/xpdf/xpdf/Makefile.in to texk/web2c/pdftexdif/Makefile.in
or add the corresponding #defines to pdflib.h. Since the latter has to be
changed when xpdf changes and the #define is for PDFdoc.h, adding a
#define to pdflib.h seems a more logical place, but just copying the
flags make differences visible in the build log.
It would be helpful for posterity to add comments to pdlib.h where #defines
are needed in order to use the xpdf header files.
--
George N. White III