[Mono-dev] libgdiplus (SVN) fails to compile

Sebastien Pouliot sebastien.pouliot at gmail.com
Wed Apr 25 08:35:36 EDT 2007


On Wed, 2007-04-25 at 07:54 -0400, Sebastien Pouliot wrote:
> Hello Frederik,
> 
> It works on most systems but monobuild reports that a few (older)
> systems (either the compiler or the headers files) don't like the recent
> changes I made. It will be fixed ASAP.

Fixed in SVN r76244.

> Thanks,
> Sebastien
> 
> On Wed, 2007-04-25 at 12:35 +0200, Frederik Carlier wrote:
> > 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
> > 
> > 
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list




More information about the Mono-devel-list mailing list