NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

odd erors and warnings during netbsd-9 build



I've been building netbsd-N for ages with build.sh, at least back to
netbsd-4.  I updated my netbsd-9 tree recently and did an update build,
after a previous successful update build on November 3.  The machine in
question has been running NetBSD 9 for a long time; my guess is that I
updated it from 8 in fall of 2020.

I have two oddities, probably unrelated, but:

* stdc++.so.8 not found

When building gcc, I got

  rm -f auto-host.h
  ln -s /home/n0/gdt/NetBSD-9/src/external/gpl3/gcc/usr.bin/backend/../gcc/arch/earmv7hf/auto-host.h .
  if [ -f /home/n0/gdt/NetBSD-9/src/external/gpl3/gcc/usr.bin/backend/../gcc/arch/earmv7hf/sysroot-suffix.h ]; then  rm -f sysroot-suffix.h;  ln -s /home/n0/gdt/NetBSD-9/src/ext  ernal/gpl3/gcc/usr.bin/backend/../gcc/arch/earmv7hf/sysroot-suffix.h ;  fi
  ./gengtype -S /home/n0/gdt/NetBSD-9/src/external/gpl3/gcc/dist/gcc -I gtyp-input.list.tmp -w gtype.state
  ./gengtype: Shared object "libstdc++.so.8" not found
  *** [gtype-desc.h] Error code 1
  nbmake[9]: stopped in /home/n0/gdt/NetBSD-9/src/external/gpl3/gcc/usr.bin/backend
  1 error

This is odd for two reasons: I would have thought that I had totally
rebuilt my netbsd-9 tree after updating, but on second thought it would
have been stable and not needed.  (current is not stable and I end up rm
-rf of objdir from time to time.)

The second oddity is that libstdc++.so.8.0 from my netbsd-8 install is
there, but the symlink to it was not.  I recreated the symlink:

  lrwxr-xr-x  1 root  wheel       16 Jan  2 09:21 /usr/lib/libstdc++.so.8 -> libstdc++.so.8.0

and then gengtype runs.

I was at a loss to explain how the symlink disappeared, but I now
suspect compat80 from rust and removal of compat80 from "pkgin ar".  If
add/remove overwrites and removes the symlink, then it's a compat80
package bug to leave the system broken for existing compat after
install/remove.

I find it in the objdir as external/gpl3/gcc/usr.bin/backend/gengtype,
and sure enough it is a NetBSD 8 executable.

Looking in my i386 objdir:

/usr/obj/gdt-9/i386 $ find . -name gengtype | xargs ldd
./tools/gcc/build/gcc/build/gengtype:
        -lm.0 => /usr/lib/libm.so.0
        -lc.12 => /usr/lib/libc.so.12
./tools/gcc/build/gcc/gengtype:
        -lm.0 => /usr/lib/libm.so.0
        -lc.12 => /usr/lib/libc.so.12
./external/gpl3/gcc/usr.bin/backend/gengtype:
        -lstdc++.8 => /usr/lib/libstdc++.so.8
        -lm.0 => /usr/lib/libm.so.0
        -lc.12 => /usr/lib/libc.so.12
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1

$ find . -name gengtype |xargs file
./tools/gcc/build/gcc/build/gengtype:         ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 9.2, not stripped
./tools/gcc/build/gcc/gengtype:               ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 9.2, not stripped
./external/gpl3/gcc/usr.bin/backend/gengtype: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 8.2, not stripped

However, gengtype is not in tools/bin, and it seems like a native
gengtype is being built and used, and that seems off plan.  But I guess
it's just part of the gcc build, and doesn't have to be tool-ized.

So mystery solved, and I guess I should make clean in gcc.  I have
cleaned and rebuilt tools, but I didn't expect to have to do that other
than tools, since in theory it's cross.

* gawk in compile_et

Somewhere to do with compile_et, I found this (thanks -j !):

gawk: cmd. line:4: warning: regexp escape sequence `\"' is not a known regexp operator

and I wonder why gawk is being used at all.

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index