[SM-Grimoire-Bugs] [Bug 15066] New: xpdf 3.02 fails to compile with gcc's fixed includes of libpaper

bugzilla-daemon at bugs.sourcemage.org bugzilla-daemon at bugs.sourcemage.org
Fri Feb 6 04:11:00 EST 2009


http://bugs.sourcemage.org/show_bug.cgi?id=15066

           Summary: xpdf 3.02 fails to compile with gcc's fixed includes of
                    libpaper
           Product: Codex
           Version: stable grimoire
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: gnu
        AssignedTo: sm-grimoire-bugs at lists.ibiblio.org
        ReportedBy: sandalle at sourcemage.org


This happens only on x86_64 so far. Both built using 2.6.28 sanitized headers.
Tried on my x86 machines, one with 2.6.28 sanitized headers and one with 2.6.27
sanitized headers (See Bug #15061 for issues with 2.6.28) and xpdf built fine.

One x86_64 machine tries to use lesstif, the other has no provider for MOTIF.
All three working x86 use lesstif.

$ sorcery -v
1.14.2

# cast xpdf
Computing previously installed dependencies...
xpdf preparing environment...
xpdf running configuration...
Use A4 as default paper size instead of Letter for Postscript output? [n]
xpdf checking dependencies...
xpdf has a dependency on freetype2
xpdf has an optional dependency on some MOTIF (Build xpdf itself instead of
just the utils?).
Continue to use lesstif? [y]
xpdf has a dependency on ghostscript-fonts-std
xpdf has an enabled optional dependency on t1lib
...
GlobalParams.cc: In constructor 'GlobalParams::GlobalParams(char*)':
GlobalParams.cc:631: warning: deprecated conversion from string constant to
'char*'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:63: error: too
many arguments to function 'paper* paperinfo()'
GlobalParams.cc:648: error: at this point in file
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:56: error: too
many arguments to function 'double paperpswidth()'
GlobalParams.cc:649: error: at this point in file
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:57: error: too
many arguments to function 'double paperpsheight()'
GlobalParams.cc:650: error: at this point in file
GlobalParams.cc:652: warning: deprecated conversion from string constant to
'char*'

On working boxs:
$ gaze from paper.h
kdelibs4-4.1.96:/opt/kde4/include/plasma/wallpaper.h
kdelibs4-4.2.0:/opt/kde4/include/plasma/wallpaper.h
kdelibs4-4.2.60.svn912032:/opt/kde4/include/plasma/wallpaper.h
libgnomeprint-2.18.5:/usr/include/libgnomeprint-2.2/libgnomeprint/gnome-print-paper.h

$ gaze from paper.h
<nothing>

$ gaze from paper.h
libgnomeprint-2.18.5:/usr/include/libgnomeprint-2.2/libgnomeprint/gnome-print-paper.h

$ gaze compile xpdf | grep paper
checking whether to use libpaper library... maybe
checking where to find the libpaper header files...
checking paper.h usability... no
checking paper.h presence... no
checking for paper.h... no
not using libpaper library

On non-working boxes (both x86_64):
# gaze from paper.h
gcc-4.3.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/./paper.h
gcc-4.3.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h
kdelibs4-4.2.0:/opt/kde4/include/plasma/wallpaper.h
libgnomeprint-2.18.5:/usr/include/libgnomeprint-2.2/libgnomeprint/gnome-print-paper.h
libpaper-1.1.23:/usr/include/paper.h

$ gaze from paper.h
gcc-4.3.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h
kdelibs4-4.1.96:/opt/kde4/include/plasma/wallpaper.h
kdelibs4-4.2.0:/opt/kde4/include/plasma/wallpaper.h
libpaper-1.1.23:/usr/include/paper.h

 gaze compile xpdf|grep paper
checking whether to use libpaper library... maybe
checking where to find the libpaper header files...
checking paper.h usability... yes
checking paper.h presence... yes
checking for paper.h... yes
checking for paperinit in -lpaper... yes
using libpaper library
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:63: error: too
many arguments to function 'paper* paperinfo()'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:56: error: too
many arguments to function 'double paperpswidth()'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:57: error: too
many arguments to function 'double paperpsheight()'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:63: error: too
many arguments to function 'paper* paperinfo()'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:56: error: too
many arguments to function 'double paperpswidth()'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h:57: error: too
many arguments to function 'double paperpsheight()'

Seems like both failing boxes have libpaper installed and include-fixed headers
from gcc 4.3.2 (4.3.2 is the current version of gcc on all these machines). If
I remove /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h, xpdf now
compiles fine on x86_64.

With libpaper still installed, but
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h removed, on x86_64
it finds -lpaper and works:

$ gaze compile xpdf|grep paper
checking whether to use libpaper library... maybe
checking where to find the libpaper header files...
checking paper.h usability... yes
checking paper.h presence... yes
checking for paper.h... yes
checking for paperinit in -lpaper... yes
using libpaper library
g++ -march=nocona -fPIC -DPIC -pipe -DPIC -fPIC -Os -I/usr/include/freetype2
-DHAVE_CONFIG_H -I.. -I./../goo -I./../fofi -I./../splash -I.
-I/usr/include/freetype2          -z combreloc -s -Wl,-O1 -o xpdf Annot.o
Array.o BuiltinFont.o BuiltinFontTables.o Catalog.o CharCodeToUnicode.o CMap.o
CoreOutputDev.o Decrypt.o Dict.o Error.o FontEncodingTables.o Function.o Gfx.o
GfxFont.o GfxState.o GlobalParams.o JArithmeticDecoder.o JBIG2Stream.o
JPXStream.o Lexer.o Link.o NameToCharCode.o Object.o Outline.o OutputDev.o
Page.o Parser.o PDFCore.o PDFDoc.o PDFDocEncoding.o PreScanOutputDev.o
PSOutputDev.o PSTokenizer.o SecurityHandler.x.o SplashOutputDev.o Stream.o
TextOutputDev.o UnicodeMap.o UnicodeTypeTable.o XPDFApp.o XPDFCore.o XPDFTree.o
XPDFViewer.o XpdfPluginAPI.o XRef.o xpdf.o -L../goo -lGoo -L../splash -lsplash
-lt1 -lfreetype -lXm -lXt  -lXext -lXpm  -lSM -lICE  -lX11  -lpaper -L../fofi
-lfofi -L../goo -lGoo -lm
                -L../goo -lGoo -L../splash -lsplash -lt1 -lfreetype -lpaper
-L../fofi -lfofi -L../goo -lGoo -lm
                -L../goo -lGoo -lpaper -L../fofi -lfofi -L../goo -lGoo -lm
                -L../goo -lGoo -lpaper -L../fofi -lfofi -L../goo -lGoo -lm
                -L../goo -lGoo -lpaper -L../fofi -lfofi -L../goo -lGoo -lm
                -L../goo -lGoo -L../splash -lsplash -lt1 -lfreetype -lpaper
-L../fofi -lfofi -L../goo -lGoo -lm
                -L../goo -lGoo -lpaper -L../fofi -lfofi -L../goo -lGoo -lm

Without libpaper and
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include-fixed/paper.h, xpdf on x86_64
also compiles fine, but shows no -lpaper available.

Perhaps gcc messes up other headers when it "fixes" them?


-- 
Configure bugmail: http://bugs.sourcemage.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the SM-Grimoire-Bugs mailing list