I'm not able to compile the C API in GeoIP 1.4.6 on Solaris because an anonymous union is used - line 42 of GeoIP/libGeoIP/GeoIPCity.h
Sun Studio 12 compiler (even in C99 mode) reports:
"./GeoIPCity.h", line 42: warning: unnamed struct member
"GeoIPCity.c", line 131: improper member use: metro_code
cc: acomp failed for GeoIPCity.c
make: *** [GeoIPCity.lo] Error 1
make: Leaving directory `/home/benhaman/thus-GeoIP/GeoIP/libGeoIP'
make: *** [all-recursive] Error 1