2008-02-26

Error building psycopg custom egg

I was running a buildout and got this error:


/psycopg/config.h:119: error: static declaration of 'round' follows non-static declaration


I know little to nothing about C so I asked Chris Shenton. He said, "Sounds like it is already defined. Try commenting it out." It worked.

I assume this is new in FreeBSD 7 which I am running. So I think this should work:


--- psycopg/config.h 2008-02-26 21:47:43 +0000
+++ psycopg/config.h 2008-02-26 21:56:06 +0000
@@ -113,7 +113,7 @@
#define inline
#endif


-#if defined(__FreeBSD__) || (defined(_WIN32) && !defined(__GNUC__)) || defined(__sun__)
+#if defined(__FREEBSD__ < 7) || (defined(_WIN32) && !defined(__GNUC__)) || defined(__sun__)
/* what's this, we have no round function either? */
static double round(double num)
{


I went to file a bug at initd.org, but their system was down. So I put it here. Thanks for the clue Chris.

No comments: