__USE_GNU needs to be in effect when including sys/ucontext.h, and signal.h pulls it in in some setups. diff -up hddtemp-0.3-beta15/src/backtrace.c~ hddtemp-0.3-beta15/src/backtrace.c --- hddtemp-0.3-beta15/src/backtrace.c~ 2006-04-19 05:38:14.000000000 +0300 +++ hddtemp-0.3-beta15/src/backtrace.c 2010-02-14 21:59:47.000000000 +0200 @@ -27,13 +27,12 @@ #include #include #include +#define __USE_GNU +#include #include #include #include -#define __USE_GNU -#include - #define MAX_BTSIZE 64 void backtrace_handler(int n, siginfo_t *ist, void *extra) {