Hi,
I'm trying to compile inkscape-20040527 with gcc (GCC) 3.3.2 on a SunOS foo 5.8 Generic_108528-22 sun4u sparc SUNW,Sun-Fire-V240 machine.
I had to fix a few things:
Use <inttypes.h>, not <stdint.h> in src/display/sp-canvas.h, src/livarot/DblLinked.h, src/livarot/LivarotDefs.h, src/livarot/AVL.h, src/livarot/Shape.h, src/livarot/ShapeUtils.h, src/livarot/Ligne.h (see http://www.lns.cornell.edu/public/COMP/info/autoconf/Header-Portability.html)
Replace round() with rint() according to http://news.gw.com/freebsd.gnome/1237 in src/object-edit.cpp, src/spiral-context.cpp
fabsf() was undeclared (I just put in "fabs()", not sure if this is correct) in src/sp-shape.cpp (see http://gcc.gnu.org/ml/java/2001-01/msg00465.html).
I could make a patch for these changes if wanted.
Now, with the following error, I assume it happens because the Makefile is using Solaris' as instead of GNU's "gas":
In file included from style.h:19, from sp-typeset-kplayout.cpp:26: sp-marker.h: In member function `SPMarker* SPMarkerReference::getObject() const ': sp-marker.h:94: warning: cast from `SPObject*' to `SPMarker*' increases required alignment of target type In file included from sp-typeset-kplayout.cpp:30: sp-use.h: In member function `SPItem* SPUseReference::getObject() const': sp-use.h:25: warning: cast from `SPObject*' to `SPItem*' increases required alignment of target type sp-typeset-kplayout.cpp: In function `void sp_typeset_rekplayout(SPTypeset*)': sp-typeset-kplayout.cpp:325: warning: cast from `GTypeInstance*' to `SPTypeset* ' increases required alignment of target type /usr/ccs/bin/as: "/var/tmp//ccUeTaeq.s", line 5631: error: constant value must be between -4096 and 4095 gmake: *** [sp-typeset-kplayout.o] Error 1
(I include some of the warnings I get for virtually every file for good measure :)
I have stopped here for today since I didn't find the "as" call immediately; I hope the above is helpful for portabilty. Hints about the as/gas problem are appreciated.
Cheers, Colin