Re: git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib [add /usr/lib/libc++.so.1 -> ../../lib/libc++.so.1 ?]
- Reply: John Baldwin : "Re: git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib [add /usr/lib/libc++.so.1 -> ../../lib/libc++.so.1 ?]"
- In reply to: Mark Millard via freebsd-current : "Re: git: 5e6a2d6eb220 - main - Reapply: move libc++ from /usr/lib to /lib [add /usr/lib/libc++.so.1 -> ../../lib/libc++.so.1 ?]"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 31 Dec 2021 22:59:08 UTC
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: > >> 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. > > A better identification of what looks odd to me is the > path variations in: > > # 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 ) > > 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/ ? > >> I have finally reproduced Cy's build error locally and am testing my fix. If it >> works I'll commit it. >> > === Mark Millard marklmi at yahoo.com