emerge vanessa-socket fails miserably, on grounds of if / else without brackets, written on multilines. For a reason or another, gcc can't process this correctly, it's at least missing some brackets here and there... Reproducible: Always Steps to Reproduce: 1. emerge --sync 2. ACCEPT_KEYWORDS="amd64" emerge vanessa-socket Actual Results: libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -O2 -pipe -MT vanessa_socket_handler.lo -MD -MP -MF .deps/vanessa_socket_handler.Tpo -c vanessa_socket_handler.c -o vanessa_socket_handler.o >/dev/null 2>&1 vanessa_socket_client.c: In function 'vanessa_socket_client_src_open': vanessa_socket_client.c:200: error: expected '}' before 'else' vanessa_socket_client.c:205: error: label 'err' used but not defined vanessa_socket_client.c: At top level: vanessa_socket_client.c:210: error: expected declaration specifiers or '...' before '&' token vanessa_socket_client.c:210: error: expected declaration specifiers or '...' before 'sizeof' vanessa_socket_client.c:210: warning: data definition has no type or storage class vanessa_socket_client.c:210: error: conflicting types for 'bzero' vanessa_socket_client.c:211: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token vanessa_socket_client.c:212: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token vanessa_socket_client.c:213: warning: data definition has no type or storage class vanessa_socket_client.c:213: error: 'dst_host' undeclared here (not in a function) vanessa_socket_client.c:213: error: 'dst_port' undeclared here (not in a function) vanessa_socket_client.c:213: error: 'hints' undeclared here (not in a function) vanessa_socket_client.c:213: error: 'dst_res' undeclared here (not in a function) vanessa_socket_client.c:213: error: initializer element is not constant vanessa_socket_client.c:214: error: expected identifier or '(' before 'if' vanessa_socket_client.c:232: warning: data definition has no type or storage class vanessa_socket_client.c:233: error: expected identifier or '(' before 'do' vanessa_socket_client.c:265: error: expected identifier or '(' before 'while' vanessa_socket_client.c:267: error: expected ')' before numeric constant vanessa_socket_client.c:268: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token vanessa_socket_client.c:270: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token vanessa_socket_client.c:273: error: expected identifier or '(' before 'if' vanessa_socket_client.c:275: error: expected identifier or '(' before 'return' vanessa_socket_client.c:276: error: expected identifier or '(' before '}' token make[2]: *** [vanessa_socket_client.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... Expected Results: Software compiles ok. libvanessa_socket/vanessa_socket_client.c around line 195: if (err == EAI_SYSTEM) VANESSA_LOGGER_DEBUG_UNSAFE("getaddrinfo dst: " "\"%s\" \"%s\": %s", dst_host, dst_port, strerror(errno)); else VANESSA_LOGGER_DEBUG_UNSAFE("getaddrinfo dst: " "\"%s\" \"%s\": %s", dst_host, dst_port, gai_strerror(err)); Doesn't work...
Created attachment 216592 [details, diff] ifelse patch I've had this problem on amd64 and i686, so I created this simple patch. The ebuild needs something like this added to apply the patch. src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}/${P}-ifelse.patch" }
I'm adding patrick@g.o, as he's the one who bumped the ebuild.
I just found out that by upgrading vanessa-logger from 0.0.7 to 0.0.8 permits vanessa-socket 0.0.10 to compile...
To be noted, perdition 1.17.1 does *not* work with vanessa-socket 0.0.10. perdition 1.18 works perfectly, maybe it's time to push out a new ebuild for it.
0.0.12 will probably fix this, can you try?
I can confirm that vanessa-socket 0.0.12 works... but with perdition 1.18. Haven't tried to downgrade.
+ 26 Dec 2014; Patrick Lauer <patrick@gentoo.org> -vanessa-socket-0.0.10.ebuild, + -vanessa-socket-0.0.5_beta4.ebuild, -vanessa-socket-0.0.7.ebuild, + vanessa-socket-0.0.12.ebuild: + Remove old, stable for x86 to match old keywords None of the affected versions in tree anymore :)