htop: work-around old uClibc issue when static linking
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 26 Feb 2017 21:12:04 +0000 (22:12 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 26 Feb 2017 21:42:53 +0000 (22:42 +0100)
htop wants to use backtrace() support from the C
library. Unfortunately, with old uClibc versions such as the one we
use for the ARC architecture, the backtrace() implementation is in
libubacktrace. In addition, this implementation needs dladdr()
support, which is in libdl, not available when static linking.

Since this problem no longer exists in more recent versions of uClibc,
we simply special case the ARC+static linking case, and make the
configure script believe that <execinfo.h> is not available.

Fixes:

  http://autobuild.buildroot.net/results/cdea351fad7a0f61ddec3e6a141da8da0523a902/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/htop/htop.mk

index adc509014620d6a1424235bd5edfb8a7dde61fb1..9451d159fab9217e736c729889dac131519cc92b 100644 (file)
@@ -18,4 +18,11 @@ else
 HTOP_CONF_OPTS += --disable-unicode
 endif
 
+# ARC uses an old uClibc that needs dladdr() for backtrace support,
+# which doesn't work for static only scenario, so as a workaround, we
+# pretend that execinfo.h is not available.
+ifeq ($(BR2_arc)$(BR2_STATIC_LIBS),yy)
+HTOP_CONF_ENV += ac_cv_header_execinfo_h=no
+endif
+
 $(eval $(autotools-package))