[Mono-dev] libgdiplus (SVN) fails to compile
Frederik Carlier
frederik.carlier at ugent.be
Wed Apr 25 06:35:51 EDT 2007
Hi,
I'm trying to compile the SVN HEAD version of libgdiplus, but it keeps
failing. Here's what I've done:
svn update
./autogen.sh
make
That yields
fcarlier at col-clt-04:~/development/mono/libgdiplus$ make
make all-recursive
make[1]: Map '/home/fcarlier/development/mono/libgdiplus' wordt binnengegaan
Making all in cairo
make[2]: Map '/home/fcarlier/development/mono/libgdiplus/cairo' wordt
binnengegaan
make all-recursive
make[3]: Map '/home/fcarlier/development/mono/libgdiplus/cairo' wordt
binnengegaan
Making all in pixman
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/pixman'
wordt binnengegaan
Making all in src
make[5]: Map
'/home/fcarlier/development/mono/libgdiplus/cairo/pixman/src' wordt
binnengegaan
make[5]: Er hoeft niets gedaan te worden voor 'all'.
make[5]: Map
'/home/fcarlier/development/mono/libgdiplus/cairo/pixman/src' wordt verlaten
make[5]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/pixman'
wordt binnengegaan
make[5]: Er hoeft niets gedaan te worden voor 'all-am'.
make[5]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/pixman'
wordt verlaten
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/pixman'
wordt verlaten
Making all in src
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/src'
wordt binnengegaan
make[4]: Er hoeft niets gedaan te worden voor 'all'.
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/src'
wordt verlaten
Making all in boilerplate
make[4]: Map
'/home/fcarlier/development/mono/libgdiplus/cairo/boilerplate' wordt
binnengegaan
make[4]: Er hoeft niets gedaan te worden voor 'all'.
make[4]: Map
'/home/fcarlier/development/mono/libgdiplus/cairo/boilerplate' wordt
verlaten
Making all in test
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/test'
wordt binnengegaan
Making all in pdiff
make[5]: Map
'/home/fcarlier/development/mono/libgdiplus/cairo/test/pdiff' wordt
binnengegaan
make[5]: Er hoeft niets gedaan te worden voor 'all'.
make[5]: Map
'/home/fcarlier/development/mono/libgdiplus/cairo/test/pdiff' wordt verlaten
Making all in .
make[5]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/test'
wordt binnengegaan
make[5]: Er hoeft niets gedaan te worden voor 'all-am'.
make[5]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/test'
wordt verlaten
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo/test'
wordt verlaten
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo' wordt
binnengegaan
make[4]: Er hoeft niets gedaan te worden voor 'all-am'.
make[4]: Map '/home/fcarlier/development/mono/libgdiplus/cairo' wordt
verlaten
make[3]: Map '/home/fcarlier/development/mono/libgdiplus/cairo' wordt
verlaten
make[2]: Map '/home/fcarlier/development/mono/libgdiplus/cairo' wordt
verlaten
Making all in src
make[2]: Map '/home/fcarlier/development/mono/libgdiplus/src' wordt
binnengegaan
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I.. -I../cairo/pixman/src -I../cairo/pixman/src -I../cairo/src
-I../cairo/src -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/freetype2 -I/usr/include/libexif -Wall -Wno-unused
-Wno-format -g -O2 -pthread -MT pngcodec.lo -MD -MP -MF
".deps/pngcodec.Tpo" -c -o pngcodec.lo pngcodec.c; \
then mv -f ".deps/pngcodec.Tpo" ".deps/pngcodec.Plo"; else rm -f
".deps/pngcodec.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../cairo/pixman/src
-I../cairo/pixman/src -I../cairo/src -I../cairo/src
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/freetype2 -I/usr/include/libexif -Wall -Wno-unused
-Wno-format -g -O2 -pthread -MT pngcodec.lo -MD -MP -MF
.deps/pngcodec.Tpo -c pngcodec.c -fPIC -DPIC -o .libs/pngcodec.o
In file included from /usr/include/png.h:387,
from pngcodec.c:37:
/usr/include/pngconf.h:317: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '.' token
/usr/include/pngconf.h:318: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'include'
make[2]: *** [pngcodec.lo] Fout 1
make[2]: Map '/home/fcarlier/development/mono/libgdiplus/src' wordt verlaten
make[1]: *** [all-recursive] Fout 1
make[1]: Map '/home/fcarlier/development/mono/libgdiplus' wordt verlaten
make: *** [all] Fout 2
The error is caused by these lines in pngconf.h:
fcarlier at col-clt-04:~/development/mono/libgdiplus$ cat
/usr/include/pngconf.h | head -n 320 | tail
# undef _BSD_SOURCE
# endif
# ifdef _SETJMP_H
/* If you encounter a compiler error here, see the explanation
* near the end of INSTALL.
*/
__png.h__ already includes setjmp.h;
__dont__ include it again.;
# endif
# endif /* __linux__ */
and INSTALL says
If you encounter a compiler error message complaining about the
lines
__png.h__ already includes setjmp.h;
__dont__ include it again.;
This means you have compiled another module that includes setjmp.h,
which is hazardous because the two modules might not include exactly
the same setjmp.h. If you are sure that you know what you are doing
and that they are exactly the same, then you can comment out or
delete the two lines. Better yet, use the cexcept interface
instead, as demonstrated in contrib/visupng of the libpng distribution.
which leads me to believe that this is a libgdiplus issue (and not a
libpng issue).
Can anyone else reproduce this issue? If so, is a bug report welcome?
Thanks,
Frederik
More information about the Mono-devel-list
mailing list