Building mapagg.cpp on Debian etch fails. I was able to work around this by commenting out the lines in mapagg.cpp that were causing errors:
mapagg.cpp:928: error: cast from 'void*' to 'int' loses precision
These were both printf statements.
g++ -O2 -fPIC -Wall -DHAVE_VSNPRINTF -DNEED_STRLCAT -DUSE_EPPL -DUSE_PROJ -DUSE_WMS_SVR -DUSE_WMS_LYR -DUSE_WFS_SVR -DUSE_WCS_SVR -DUSE_MING_FLASH -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_AGG -DUSE_PDF -DUSE_OGR -DUSE_GDAL -DUSE_GEOS -DUSE_ICONV -DUSE_POSTGIS -DUSE_ZLIB -I/usr/include -I/usr/include/agg2 -I/usr/include -I/usr/include/postgresql -I/usr/local/include -c -o mapagg.o mapagg.cpp
mapagg.cpp: In function 'void msImageInitAGG(imageObj*, colorObj*)':
mapagg.cpp:144: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'void*'
mapagg.cpp: In function 'void imagePolyline(imageObj*, shapeObj*, colorObj*, int, int, int, int, int*)':
mapagg.cpp:263: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'void*'
mapagg.cpp: In function 'void imageFilledPolygon2(imageObj*, shapeObj*, colorObj*, int, int)':
mapagg.cpp:338: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'void*'
mapagg.cpp: In function 'void imageFilledPolygon(imageObj*, shapeObj*, colorObj*, int, int)':
mapagg.cpp:387: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'void*'
mapagg.cpp: In function 'void msDrawMarkerSymbolAGGEllipse(symbolObj*, double, double, char, styleObj*, int, int, gdImage*, pointObj*)':
mapagg.cpp:541: warning: passing 'double' for argument 7 to 'void gdImageFilledArc(gdImage*, int, int, int, int, int, int, int, int)'
mapagg.cpp:542: warning: passing 'double' for argument 7 to 'void gdImageFilledArc(gdImage*, int, int, int, int, int, int, int, int)'
mapagg.cpp:546: warning: passing 'double' for argument 7 to 'void gdImageFilledArc(gdImage*, int, int, int, int, int, int, int, int)'
mapagg.cpp: In function 'void msDrawMarkerSymbolAGGVector(symbolObj*, double, double, char, styleObj*, int, int, gdImage*, pointObj*, imageObj*)':
mapagg.cpp:635: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'void*'
mapagg.cpp: In function 'void msPieSliceAGG(imageObj*, styleObj*, double, double, double, double, double)':
mapagg.cpp:928: error: cast from 'void*' to 'int' loses precision
mapagg.cpp: In function 'void msFilledRectangleAGG(imageObj*, styleObj*, double, double, double, double)':
mapagg.cpp:995: error: cast from 'void*' to 'int' loses precision
mapagg.cpp: At global scope:
mapagg.cpp:333: warning: 'void imageFilledPolygon2(imageObj*, shapeObj*, colorObj*, int, int)' defined but not used
mapagg.cpp:1040: warning: 'nmsTransformShapeAGG' defined but not used
make: *** [mapagg.o] Error 1