Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Dec 2021 14:59:08 -0800
From:      Mark Millard via freebsd-current <freebsd-current@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Dimitry Andric <dim@FreeBSD.org>, Ed Maste <emaste@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>
Subject:   Re: git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib [add /usr/lib/libc++.so.1 -> ../../lib/libc++.so.1 ?]
Message-ID:  <76FC7AFB-DA78-4A44-BC74-4477C9E11413@yahoo.com>
In-Reply-To: <03AF30DA-A632-4223-908C-9F5250D82079@yahoo.com>
References:  <45118DB4-F8C4-4F96-9CAA-5DC5DCFFEB7E@yahoo.com> <3140C5F6-495F-441C-AA6B-542F3BC53B62@yahoo.com> <5F8AF0B2-3AF3-4BE4-B5D1-9030F2605FFD@yahoo.com> <EDD53581-B5FA-4D52-9F9A-AAB1DA1974D2@yahoo.com> <5a24eb16-078f-15c5-dcd4-ecef33d15ac7@FreeBSD.org> <03AF30DA-A632-4223-908C-9F5250D82079@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Dec-31, at 14:28, Mark Millard <marklmi@yahoo.com> wrote:

> On 2021-Dec-30, at 14:04, John Baldwin <jhb@freebsd.org> wrote:
>=20
>> On 12/30/21 1:09 PM, Mark Millard wrote:
>>> On 2021-Dec-30, at 13:05, Mark Millard <marklmi@yahoo.com> wrote:
>>>> This asks a question in a different direction that my prior
>>>> reports about my builds vs. Cy's reported build.
>>>>=20
>>>> Background:
>>>>=20
>>>> =
/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/li=
b/libc++.so:GROUP ( /lib/libc++.so.1 /usr/lib/libcxxrt.so
>>>> and:
>>>> lrwxr-xr-x  1 root  wheel        23 Dec 29 13:17:01 2021 =
/usr/lib/libcxxrt.so -> ../../lib/libcxxrt.so.1
>>>>=20
>>>> Why did libc++.so.1 not get a:
>>>>=20
>>>> /usr/lib/libc++.so.1 -> ../../lib/libc++.so.1
>>> I forgot to remove the .1 on the left hand side:
>>> /usr/lib/libc++.so -> ../../lib/libc++.so.1
>>=20
>> Because for libc++.so we don't just symlink to the current version of =
the library
>> (as we do for most other shared libraries) to tell the compiler what =
to link against
>> for -lc++, instead we use a linker script that tells the compiler to =
link against
>> both of those libraries when -lc++ is encountered.
>=20
> A better identification of what looks odd to me is the
> path variations in:
>=20
> # more /usr/lib/libc++.so

Another not great day on my part: That path alone makes
the mix of /lib/ and /usr/lib/ use involved, given the
reference to /lib/libc++.so.1 . That would still be true
if the other path had been /lib/libcxxrt.so .

I guess I've just not figured out what specific, detailed
issue(s) the move to /lib/libc++.so.1 covers vs. not,
given the /usr/lib/libc++.so and /usr/lib/libcxxrt.so
paths.

I'm not using anything with /usr/lib/ being on a different
file system than /lib so I'll definitely not observe any
problems. And it might be a waste to try to clear my
confusions at this point, given how the day is going.

> /* $FreeBSD$ */
> GROUP ( /lib/libc++.so.1 /usr/lib/libcxxrt.so )
>=20
> So /usr/lib/ still has to be available (so, possibly, mounted)
> for C++ because of the /usr/lib/libcxxrt.so reference? If so,
> why the move of libc++.so.1 to /lib/ ?
>=20
>> I have finally reproduced Cy's build error locally and am testing my =
fix.  If it
>> works I'll commit it.
>>=20
>=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?76FC7AFB-DA78-4A44-BC74-4477C9E11413>