2013-01-31 2 views
1

J'ai essayé de compiler libpng 1.5.14 sur un système Cray x86_64 en utilisant CC 5.10 et j'ai rencontré de fréquentes erreurs endif manquantes. J'ai corrigé beaucoup de ces erreurs en ajoutant un #endif à la fin des fichiers, ce qui a permis à 'make check' de continuer après la première série de 3 tests. Cependant, il y a 1 erreur endif dans dfn.c que je suis incapable de réparer. J'ai tenté de le pirater sans succès en copiant le fichier dfn.c dans hack_dfn.c, en ajoutant une déclaration #endif à la fin de hack_dfn.c, puis en faisant en sorte que Makefile copie hack_dfn.c en dfn.c après que dfn.c soit recréé pendant le processus de compilation. Ci-dessous le dernier bit de sortie sans correction apportée au fichier dfn.c, et comprend l'erreur que je reçois:libpng version 1.5.14 missing endif

Running tests. For details see pngtest-log.txt 
Running test-pngtest.sh 
    PASS: pngtest --strict pngtest.png 
PASS: test-pngtest.sh 
Running test-pngvalid-simple.sh 
    PASS: pngvalid --standard 
    PASS: pngvalid --standard --progressive-read 
    PASS: pngvalid --standard --interlace 
    PASS: pngvalid --standard --progressive-read --interlace 
    PASS: pngvalid --size 
    PASS: pngvalid --size --progressive-read 
    PASS: pngvalid --transform 
PASS: test-pngvalid-simple.sh 
Running test-pngvalid-full.sh 
    PASS: pngvalid --gamma-threshold 
    PASS: pngvalid --gamma-transform 
    PASS: pngvalid --gamma-sbit 
    PASS: pngvalid --gamma-16-to-8 
    PASS: pngvalid --gamma-background 
    PASS: pngvalid --gamma-alpha-mode 
    PASS: pngvalid --gamma-transform --expand16 
    PASS: pngvalid --gamma-background --expand16 
    PASS: pngvalid --gamma-alpha-mode --expand16 
PASS: test-pngvalid-full.sh 
================== 
All 3 tests passed 
================== 
make[1]: Leaving directory `/usr/local/libpng-1.5.14' 
rm -f scripts/symbols.out dfn.c dfn?.out 
test -d scripts || mkdir scripts 
echo '#include "scripts/symbols.dfn"' >dfn.c 
cc -E -DHAVE_CONFIG_H -I. -DPNG_CONFIGURE_LIBPNG\ 
      -DPNGLIB_LIBNAME='PNG15_0' -DPNGLIB_VERSION='1.5.14' -DSYMBOL_PREFIX='' -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE dfn.c > dfn1.out 
PGC-S-0218-Missing #endif (dfn.c: 2) 
PGC/x86-64 Linux 12.4-0: compilation completed with severe errors 
make: *** [scripts/symbols.out] Error 2 

Je n'ai pas le temps de passer par 3282 si les déclarations def [n] vérifier que chacun est fermé. J'espère que quelqu'un ici avec plus de connaissances en libpng que moi pourra au moins m'aider à me diriger vers l'endroit où je pourrais commencer à regarder. Bizarrement, j'ai pu compiler cette même version de libpng sur un autre système avec gcc sans problème. J'espère éviter d'utiliser gcc sur ce système.

Répondre

1

Peut-être votre préprocesseur C est confondu par la présence de commentaires sur les déclarations de #endif, par exemple,

#endif /* PNG_READ_SUPPORTED */