[Mono-list] mono on FC4 - let's get it working!
Alex Roman
allex2k3 at yahoo.ca
Sun Jul 24 17:27:23 EDT 2005
Hi,
Due to the fact that Fedora Core 4 uses gcc 4.0, mono packages can't be compiled. You get errors at compile-time.
I've been trying to compile some packages (stuck early at libgdiplus).
Here's what I've done so far:
1. Pre-requisites
=================
1.1 Glitz
---------
$ cvs -d:pserver:anoncvs at cvs.freedesktop.org:/cvs/cairo login
CVS password: <hit return>
$ cvs -d:pserver:anoncvs at cvs.freedesktop.org:/cvs/cairo co glitz
$ cd glitz
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
1.2 libgdiplus
--------------
$ svn co svn://mono.myrealbox.com/source/trunk/libgdiplus
$ cd libgdiplus
1.2.1 Updated cairo and libpixman
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$ mv cairo cairo_old
$ mv libpixman libpixman_old
$ cvs -d :pserver:anoncvs at cvs.cairographics.org:/cvs/cairo login
$ cvs -d :pserver:anoncvs at cvs.cairographics.org:/cvs/cairo co libpixman cairo
$ cd libpixman
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
$ cd ..
$ cd cairo
$ ./autogen.sh --prefix=/usr
$ cd ..
1.2.2 Continuing with libgdiplus
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$ ./autogen.sh --prefix=/usr
$ make
This is where it stops working...
Here is the compile log:
--snip--
make[2]: Leaving directory `/home/aroman/mono/libgdiplus/cairo'
Making all in src
make[2]: Entering directory `/home/aroman/mono/libgdiplus/src'
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libpixman/src -I../libpixman/src -I../cairo/src -I../cairo/src -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -Wall -Werror -Wno-unused -Wno-format -g -O2 -pthread -MT adjustablearrowcap.lo -MD -MP -MF ".deps/adjustablearrowcap.Tpo" -c -o adjustablearrowcap.lo adjustablearrowcap.c; \
then mv -f ".deps/adjustablearrowcap.Tpo" ".deps/adjustablearrowcap.Plo"; else rm -f ".deps/adjustablearrowcap.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libpixman/src -I../libpixman/src -I../cairo/src -I../cairo/src -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -Wall -Werror -Wno-unused -Wno-format -g -O2 -pthread -MT adjustablearrowcap.lo -MD -MP -MF .deps/adjustablearrowcap.Tpo -c adjustablearrowcap.c -fPIC -DPIC -o .libs/adjustablearrowcap.o
In file included from adjustablearrowcap.c:27:
gdip.h:827: error: syntax error before 'cairo_font_t'
cc1: warnings being treated as errors
gdip.h:827: warning: no semicolon at end of struct or union
gdip.h:832: error: syntax error before '}' token
gdip.h:832: warning: type defaults to 'int' in declaration of 'GpFont'
gdip.h:832: warning: data definition has no type or storage class
gdip.h:840: error: syntax error before 'GpFont'
gdip.h:840: warning: no semicolon at end of struct or union
gdip.h:842: error: syntax error before '}' token
gdip.h:842: warning: type defaults to 'int' in declaration of 'GpCachedFont'
gdip.h:842: warning: data definition has no type or storage class
gdip.h:1105: warning: type defaults to 'int' in declaration of 'GpFont'
gdip.h:1105: error: syntax error before '*' token
gdip.h:1106: warning: type defaults to 'int' in declaration of 'GpFont'
gdip.h:1106: error: syntax error before '*' token
gdip.h:1107: warning: type defaults to 'int' in declaration of 'GpFont'
gdip.h:1107: error: syntax error before '*' token
gdip.h:1153: error: syntax error before 'GpFont'
gdip.h:1155: error: syntax error before '*' token
make[2]: *** [adjustablearrowcap.lo] Error 1
make[2]: Leaving directory `/home/aroman/mono/libgdiplus/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/aroman/mono/libgdiplus'
make: *** [all] Error 2
[aroman at idaho libgdiplus]$
--snip--
And here are the relevan parts of src.gdip.h:
--snip--
816 typedef struct {
817 FcPattern* pattern;
818 bool allocated;
819 short height;
820 short linespacing;
821 short celldescent;
822 short cellascent;
823 } GpFontFamily;
824
825
826 typedef struct {
827 cairo_font_t* cairofnt;
828 float sizeInPixels;
829 GpFontStyle style;
830 void *wineHfont;
831 FT_Library ft_library;
832 } GpFont;
833
834
835 typedef struct
836 {
837 char szFamily [128];
838 float sizeInPixels;
839 GpFontStyle style;
840 GpFont * font;
841 int refcount;
842 } GpCachedFont;
843
--snip--
Now, I've been thinking and I cannot find anything wrong with this source code snippet. No apparent syntax errors. It looks right.
Can anyone find what is wrong with it or is there a new gcc4 option that can be used?
Let's get this working! I am willing to spend some time hackin at this, but at the moment, I am stuck.
Alex Roman.
More information about the Mono-list
mailing list