Summary: | net-mail/ezmlm-idx-mysql-0.40-r2 fails to compile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Evil Compile Person <bugs> |
Component: | New packages | Assignee: | Net-Mail Packages <net-mail+disabled> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | flameeyes, loki_val |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 251383 | ||
Bug Blocks: | 198121 |
Description
Evil Compile Person
2008-01-12 12:44:03 UTC
I'm having the same problem. It appears that the offending line is: if (!((MYSQL *) psql = mysql_init((MYSQL *) 0))) And the error is: opensql.c:95: error: lvalue required as left operand of assignment The problem is that extended lvalues were deprecated in gcc 3.4 and went away in 4.0. The solution is to not use cheesy coding tricks. The following works with gcc versions >= 4.0: --- opensql.c.orig 2008-05-07 04:54:35.000000000 -0600 +++ opensql.c 2008-05-07 04:55:02.000000000 -0600 @@ -31,6 +31,7 @@ char *pw = (char *) 0; unsigned int j; char *cp; + MYSQL *psql = (MYSQL *) 0; if (!stralloc_copys(&fn,dbname)) return ERR_NOMEM; if (fn.len == ourdb.len && !str_diffn(ourdb.s,fn.s,fn.len)) { @@ -92,7 +93,7 @@ if (!*table) return ERR_NO_TABLE; } if (!psql) { - if (!((MYSQL *) psql = mysql_init((MYSQL *) 0))) + if (!( psql = mysql_init((MYSQL *) 0))) return ERR_NOMEM; /* init */ if (!(mysql_real_connect((MYSQL *) psql, host, user, pw, db, (unsigned int) port, 0, CLIENT_COMPRESS))) /* conn */ ALSO, this package overwrites the files from net-mail/ezmlm-idx so the two of them should block each other. Bug #220735 *** Bug 248077 has been marked as a duplicate of this bug. *** @net-mail herd, CC treecleaners or find a fix. masked for removal in bug 251383 |