Re: git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib [add /usr/lib/libc++.so.1 -> ../../lib/libc++.so.1 ?]

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 30 Dec 2021 22:04:27 UTC
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.
>>
>> Background:
>>
>> /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/lib/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
>>
>> Why did libc++.so.1 not get a:
>>
>> /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

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.

I have finally reproduced Cy's build error locally and am testing my fix.  If it
works I'll commit it.

-- 
John Baldwin