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

Sebastien Pouliot sebastien.pouliot at gmail.com
Wed Apr 25 07:54:32 EDT 2007


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.

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
-- 
Sebastien Pouliot  <sebastien at ximian.com>
Blog: http://pages.infinit.net/ctech/




More information about the Mono-devel-list mailing list