Ratpoison 1.4.4-r1 fails to compile with glibc-2.10 due to the redundant definition of getline() in history.c.
The ebuild needs to be changed such that if the glibc version is 2.10 or higher the definition "HAVE_GETLINE" is defined (or one of the other changes in Additional Information).
Steps to Reproduce:
1. emerge ratpoison
gcc -DHAVE_CONFIG_H -I. -I/usr/include/freetype2 -O2 -march=prescott -pipe -I/usr/X11R6/include -MT history.o -MD -MP -MF .deps/history.Tpo -c -o history.o history.c
history.c:78: error: static declaration of 'getline' follows non-static declaration
/usr/include/stdio.h:651: error: previous declaration of 'getline' was here
history.c should compile properly
Comment from the developer(s) was:
It seems glibc-2.10 defaults to IEEE 1003.1-2008 (which contains
getline()), unless __STRICT_ANSI__ , _POSIX_SOURCE or POSIX_C_SOURCE
are defined. Previous versions of glibc used IEEE 1003.1-2004 as a
CFLAGS+=" -DHAVE_GETLINE" emerge ratpoison
seems to allow the emerge to work with glibc-2.10.1.
Created attachment 195377 [details, diff]
Patch allowing x11-wm/ratpoison-1.4.4 to build with glibc 2.10
Created attachment 195378 [details, diff]
Patch against current x11-wm/ratpoison-1.4.4-r1 ebuild
I can confirm the workaround suggested in #1
Patch applied in portage