Recompile sysutils/htop after upgrading to base/head r358063
Somewhere between r357572 and r358062 something changed so dramatically in base/head that sysutils/htop didn’t display anything useful other than CPU and memory usage.
It’s possibly due to r358062 which is a huge update of ncurses.
Exhibit A:
Forcefully recompile and forcefully reinstall sysutils/htop, and we’re back in business!
Exhibit B:
As it turns out, all ports linked to ncurses from base must be recompiled and reinstalled.
Here’s a small script for detecting which packages need updating.
#!/bin/sh
if [ "${1}" = phase1 ]; then
p='libncurses\.so\.8|libncursesw\.so\.8'
for e in /usr/local/*bin/*; do
ldd ${e} 2>/dev/null | \
egrep -q ${p} && \
pkg which -q ${e}
done
for l in /usr/local/lib/lib*.so.*; do
objdump -x ${l} 2>/dev/null | \
egrep -q ${p} && \
pkg which -q ${l}
done
else
${0} phase1 | \
sort -u
fi
# EOF
I made extra copies of libncurses.so.8 and libncursesw.so.8 and placed them in /usr/lib/compat. This is handy for getting the installed software running after a reboot. Remember to remove these two libraries from /usr/lib/compat before recompiling the affected ports. I specifically created the directory /usr/lib-compat for preserving legacy libraries out of reach of ld.so(1).

