Hey, just ran into this myself and found a workaround. After unpacking psycopg2 and cd'ing into the package directory, open './psycopg/config.h' in your favorite editor. Go towards the bottom of the until you see the following block of text:
#if defined(__FreeBSD__) || (defined(_WIN32) && !defined(__GNUC__)) || defined(__sun__) /* what's this, we have no round function either? */ static double round(double num) { return (num >= 0) ? floor(num + 0.5) : ceil(num - 0.5); } #endif See the 'defined(__sun__)' part? This is incorrect and needs to be changed to 'defined(sun)'. Make that change, save the file, and then re-install the package. Voila! Hope this helps ;) This message posted from opensolaris.org