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

From: KIRIYAMA Kazuhiko <kiri_at_truefc.org>
Date: Wed, 20 Sep 2023 13:02:40 UTC
Hi Dimitry,

On Wed, 20 Sep 2023 15:56:28 +0900,
Dimitry Andric wrote:
> 
> [1  <text/plain; us-ascii (quoted-printable)>]
> On 20 Sep 2023, at 04:47, KIRIYAMA Kazuhiko <kiri@truefc.org> wrote:
> > 
> > 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
> 
> By any chance, did you run "make delete-old" *before* running make installworld? Because you should only delete old libraries, such as libdialog.so.9, after you have successfully completed the installation. (In fact, you can even postpone deleting old libraries until much later, it's really only needed to get your system "squeaky clean".)

Thats' true. I`ve missed above and I did `make delete-old'
before `make installworld' because my update-os scripts
could not stop error at that.

Fortunately old binaries exist and `cp
/past_created/usr/src/amd64.amd64/tmp/usr/lib/libdialog.so.9
/usr/lib' then go forward but stopped at stand/i386/boot2:

===> stand/i386/boot2 (install)
objcopy -S -O binary boot1.out boot1
objcopy -S -O binary boot2.out boot2.bin
btxld -v -E 0x2000 -f bin -b /usr/obj/usr/src/amd64.amd64/stand/i386/btx/btx/btx -l boot2.ldr  -o boot2.ld -P 1 boot2.bin
make[6]: exec(btxld) failed (No such file or directory)
*** Error code 1

Stop.
make[6]: stopped in /usr/src/stand/i386/boot2
*** Error code 1

Stop.
make[5]: stopped in /usr/src/stand/i386
*** Error code 1

Stop.
make[4]: stopped in /usr/src/stand
*** Error code 1

Stop.
make[3]: stopped in /usr/src
*** Error code 1

Stop.
make[2]: stopped in /usr/src
      322.77 real       105.98 user       108.71 sys
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
root@vm:/usr/src # 


Do you know what files or direcitories are nothing ?

Regards

---
Kazuhiko Kiriyama