Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 135876

Summary: zabbix-server-1.1 using postgres doesn't compile
Product: Gentoo Linux Reporter: Eckard Brauer <ecki>
Component: New packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: High    
Version: 2006.0   
Hardware: All   
OS: Other   
URL: http://www.zabbix.com
Whiteboard:
Package list:
Runtime testing required: ---

Description Eckard Brauer 2006-06-07 02:30:46 UTC
trying to compile zabbix-server-1.1 with USE="+ldap -mysql -oracle* +postgres +snmp" leads to the following result:

----- snip! -----
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include  -I/usr/include/postgresql     -march=pentium4 -O3 -pipe -fomit-frame-pointer -MT action.o -MD -MP -MF ".deps/action.Tpo" -c -o action.o action.c; \
then mv -f ".deps/action.Tpo" ".deps/action.Po"; else rm -f ".deps/action.Tpo"; exit 1; fi
In file included from action.c:27:
../../../include/db.h:316: error: syntax error before '*' token
../../../include/db.h:316: warning: data definition has no type or storage class
../../../include/db.h:317: error: syntax error before '*' token
../../../include/db.h:317: warning: data definition has no type or storage class
../../../include/db.h:318: error: syntax error before "DBfetch"
../../../include/db.h:318: error: syntax error before '*' token
../../../include/db.h:318: warning: data definition has no type or storage class
../../../include/db.h:349: error: syntax error before "DB_ROW"
action.c: In function `DBget_action_by_actionid':
action.c:65: error: `PGresult' undeclared (first use in this function)
action.c:65: error: (Each undeclared identifier is reported only once
action.c:65: error: for each function it appears in.)
action.c:65: error: `result' undeclared (first use in this function)
action.c:66: error: `DB_ROW' undeclared (first use in this function)
action.c:66: error: syntax error before "row"
action.c:74: error: `row' undeclared (first use in this function)
----- snap! -----

a look into include/db.h shows this:

----- snip! -----
#ifdef HAVE_MYSQL
        #include "mysql.h"
        #include "errmsg.h"
        #include "mysqld_error.h"
#define DB_HANDLE       MYSQL
#endif

#ifdef HAVE_ORACLE
        #include "sqlora.h"
#endif
...
#ifdef HAVE_MYSQL
        #define DB_RESULT       MYSQL_RES *
        #define DBfree_result   mysql_free_result
        #define DB_ROW          MYSQL_ROW
#endif

#ifdef HAVE_PGSQL
        #define DB_RESULT       PGresult *
        #define DBfree_result   PQclear
#endif

#ifdef HAVE_ORACLE
        #define DB_RESULT       sqlo_stmt_handle_t
        #define DBfree_result   sqlo_close
        #define DB_ROW          char **
#endif
----- snip! -----

for me, this means that there's some Postgres related code from 1.0, but for general, Postgres isn't really supported in 1.1, as the web pages seem to tell.

The ebuild should reflect this, and reward the postgres USE flag with an error message until Postgres is supported again.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-06-07 02:32:02 UTC

*** This bug has been marked as a duplicate of 135868 ***