Re: Problems compiling kernel
- In reply to: Mark Millard via freebsd-current : "Re: Problems compiling kernel"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 31 Dec 2021 22:16:41 UTC
On 2021-Dec-30, at 13:27, Mark Millard <marklmi@yahoo.com> wrote: >> Dear all, >> >> on a system updated yesterday I get >> >> tuexen_at_head:~/freebsd-src % git branch >> * main >> tuexen_at_head:~/freebsd-src % git pull >> Already up to date. >> tuexen_at_head:~/freebsd-src % uname -a >> FreeBSD head 14.0-CURRENT FreeBSD 14.0-CURRENT #1 main-n252035-63f7f3921bd: Thu Dec 30 11:33:16 CET 2021 root_at_head:/usr/obj/usr/home/tuexen/freebsd-src/amd64.amd64/sys/TCP amd64 >> tuexen_at_head:~/freebsd-src % sudo make -j 4 kernel KERNCONF=TCP >> ld-elf.so.1: Shared object "libc++.so.1" not found, required by "cc" >> make: "/usr/home/tuexen/freebsd-src/share/mk/bsd.compiler.mk" line 201: warning: "cc -v 2>&1 | grep "gcc version"" returned non-zero status >> make: "/usr/home/tuexen/freebsd-src/share/mk/bsd.compiler.mk" line 205: Unable to determine compiler type for CC=cc. Consider setting COMPILER_TYPE. >> >> make: stopped in /usr/home/tuexen/freebsd-src >> tuexen_at_head:~/freebsd-src % >> >> any idea what I did wrong and how to fix it? > > The problem is in FreeeBSD itself from: > > git: 6b1c5775d1c2 - main - Move libc++ from /usr/lib to /lib Ed Maste > (2021-Dec-29) > > until the revert: > > git: b6f7942cbcbd - main - Revert "Move libc++ from /usr/lib to /lib" Ed Maste > > or, the fixed commit, if you want /lib/libc++.so.1 : > > git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib Dimitry Andric > (2021-Dec-30) > > 6b1c5775d1c2 did not actually cause /lib/libc++.so.1 to be installed > but still put it at /usr/lib/libc++.so.1 . But its delete-old-libs > did remove /usr/lib/libc++.so.1 . (I suffered this too.) > > A solution is to find libc++.so.1 in your build tree and to > copy it to one of the two places (old or new). So, for example: Just correcting an error in what I wrote above. The "old or new" part of this was wrong: the system still had . . . # more /usr/lib/libc++.so /* $FreeBSD$ */ GROUP ( /usr/lib/libc++.so.1 /usr/lib/libcxxrt.so ) So only "old" was the fully correct place to copy libc++.so.1 to, presuming that /usr/lib/libc++.so was left as above. > .../amd64.amd64/lib/libc++/libc++.so.1 > > or, may be: > > .../amd64.amd64/tmp/lib/libc++.so.1 > > Some old trees used for chroot use or the like can also > be a source for doing such a copy. (That is what I did.) > > There will likely be another commit making it nicer > for NO_CLEAN style builds. 5e6a2d6eb220 is okay for > META_MODE builds or complete rebuilds. > > I also wonder if they will create a: > > /usr/lib/libc++.so -> ../../lib/libc++.so.1 > > or not, analogous to the existing: > > /usr/lib/libcxxrt.so -> ../../lib/libcxxrt.so.1 > === Mark Millard marklmi at yahoo.com