Re: make installworld filed with "Required library libdialog.so.9 not found"

From: Herbert J. Skuhra <herbert_at_gojira.at>
Date: Wed, 20 Sep 2023 04:13:30 UTC
On Wed, Sep 20, 2023 at 11:47:28AM +0900, KIRIYAMA Kazuhiko wrote:
> Hi, all
> 
> I'm updating 15.0-CURRENT (main-n265415-b2bd87bb01a9) from
> 14.0-CURRENT, but make installworld filed with "Required
> library libdialog.so.9 not found" as follows:
> 
> root@vm:/usr/src # make installworld
> make[1] warning: /usr/src/: Read-only file system.
> make[1]: "/usr/obj/usr/src/amd64.amd64/toolchain-metadata.mk" line 1: Using cached toolchain metadata from build at vm.truefc.org on Tue Sep 19 12:43:15 JST 2023
> --------------------------------------------------------------
> >>> Install check world
> --------------------------------------------------------------
> mkdir -p /tmp/install.bRcisFAS
> progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp  date echo egrep find grep id install   ln make mkdir mtree mv pwd_mkdb  rm sed services_mkdb sh sort strip sysctl test time true uname wc tzsetup makewhatis ; do  if progpath=`env PATH=/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin which $prog`; then  echo $progpath;  else  echo "Required tool $prog not found in PATH ("/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr!
>  /libexec::/sbin:/bin:/usr/sbin:/usr/bin")." >&2;  exit 1;  fi;  done);  if [ -z "" ] ; then  libs=$(ldd -f "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u | grep -Ev '\[.*]' |  while read line; do  set -- $line;  if [ "$2 $3" != "not found" ]; then  echo $2;  else  echo "Required library $1 not found." >&2;  exit 1;  fi;  done);  fi;  cp $libs $progs /tmp/install.bRcisFAS
> Required library libdialog.so.9 not found.
> *** Error code 1
> 
> Stop.
> make[1]: stopped in /usr/src
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/src
> 
> 
> According to [1], this causes
> usr.sbin/tzsetup/Makefile.depend.options, but already fixed
> this. libdialog.so.10 has been built in
> /usr/obj/usr/src/amd64.amd64/gnu/lib/libdialog/:
> 
> root@vm:/usr/src # find /usr/obj -name "libdialog.*"
> /usr/obj/usr/src/amd64.amd64/gnu/lib/libdialog/libdialog.so
> /usr/obj/usr/src/amd64.amd64/gnu/lib/libdialog/libdialog.so.10
> /usr/obj/usr/src/amd64.amd64/gnu/lib/libdialog/libdialog.so.10.debug
> /usr/obj/usr/src/amd64.amd64/gnu/lib/libdialog/libdialog.a
> /usr/obj/usr/src/amd64.amd64/gnu/lib/libdialog/libdialog.so.10.full
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/debug/usr/lib/libdialog.so.10.debug
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/debug/usr/lib32/libdialog.so.10.debug
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libdialog.so.10
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libdialog.a
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libdialog.so
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib32/libdialog.so.10
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib32/libdialog.so
> /usr/obj/usr/src/amd64.amd64/tmp/usr/lib32/libdialog.a
> /usr/obj/usr/src/amd64.amd64/obj-lib32/gnu/lib/libdialog/libdialog.so.10
> /usr/obj/usr/src/amd64.amd64/obj-lib32/gnu/lib/libdialog/libdialog.a
> /usr/obj/usr/src/amd64.amd64/obj-lib32/gnu/lib/libdialog/libdialog.so
> /usr/obj/usr/src/amd64.amd64/obj-lib32/gnu/lib/libdialog/libdialog.so.10.full
> /usr/obj/usr/src/amd64.amd64/obj-lib32/gnu/lib/libdialog/libdialog.so.10.debug
> root@vm:/usr/src # 
> 
> What should I do ?

Are you using META_MODE or WITHOUT_CLEAN? 
Have you tried a clean build (wiping /usr/obj/usr/src/amd64.amd64 or
parts of it e.g /usr/obj/usr/src/amd64.amd64/tmp/)?

-- 
Herbert