Date: Fri, 31 Dec 2021 14:16:41 -0800 From: Mark Millard via freebsd-current <freebsd-current@freebsd.org> To: Michael Tuexen <tuexen@freebsd.org>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: Problems compiling kernel Message-ID: <3BCFA348-3869-4D69-AC8A-7DC9D3A530B4@yahoo.com> In-Reply-To: <3BE75D4A-2FEA-4958-BCAA-66E194043EF5@yahoo.com> References: <3BE75D4A-2FEA-4958-BCAA-66E194043EF5@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Dec-30, at 13:27, Mark Millard <marklmi@yahoo.com> wrote: >> Dear all, >>=20 >> on a system updated yesterday I get >>=20 >> 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=3DTCP >> 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=3Dcc. Consider setting = COMPILER_TYPE. >>=20 >> make: stopped in /usr/home/tuexen/freebsd-src >> tuexen_at_head:~/freebsd-src %=20 >>=20 >> any idea what I did wrong and how to fix it? >=20 > The problem is in FreeeBSD itself from: >=20 > git: 6b1c5775d1c2 - main - Move libc++ from /usr/lib to /lib Ed Maste > (2021-Dec-29) >=20 > until the revert: >=20 > git: b6f7942cbcbd - main - Revert "Move libc++ from /usr/lib to /lib" = Ed Maste >=20 > or, the fixed commit, if you want /lib/libc++.so.1 : >=20 > git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib = Dimitry Andric > (2021-Dec-30) >=20 > 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.) >=20 > 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 >=20 > or, may be: >=20 > .../amd64.amd64/tmp/lib/libc++.so.1 >=20 > 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.) >=20 > There will likely be another commit making it nicer > for NO_CLEAN style builds. 5e6a2d6eb220 is okay for > META_MODE builds or complete rebuilds. >=20 > I also wonder if they will create a: >=20 > /usr/lib/libc++.so -> ../../lib/libc++.so.1 >=20 > or not, analogous to the existing: >=20 > /usr/lib/libcxxrt.so -> ../../lib/libcxxrt.so.1 >=20 =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3BCFA348-3869-4D69-AC8A-7DC9D3A530B4>