On 12/30/21 11:52 AM, John Baldwin wrote:
On 12/30/21 8:58 AM, Cy Schubert wrote:
This commit results in a different error.
ld: error: /export/obj/opt/src/git-src/amd64.amd64/tmp/usr/lib/libc++.so:2:
cannot find /usr/lib/libc++.so.1 inside /export/obj/opt/src/git-src/amd64.am
d64/tmp
GROUP ( /usr/lib/libc++.so.1 /usr/lib/libcxxrt.so )
^
c++: error: linker command failed with exit code 1 (use -v to see
invocation)
*** [libclang_rt.asan-x86_64.so.full] Error code 1
make[6]: stopped in /opt/src/git-src/lib/libclang_rt/asan_dynamic
I suspect that NO_CLEAN builds are broken. You can try removing
/usr/obj/<mumble>/amd64.amd64/usr/lib/libc++/libc++.ld and building again to see
if that fixes it? If so, we might need another NO_CLEAN fixup rule to delete
that file it has has the wrong path.
This patch might fix this automatically:
diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh
index b6ad7701c32b..d2e31dab31be 100755
--- a/tools/build/depend-cleanup.sh
+++ b/tools/build/depend-cleanup.sh
@@ -78,3 +78,10 @@ fi
clean_dep cddl/lib/libspl atomic S
# 20211207 cbdec8db18b5 switch to libthr-friendly pdfork
clean_dep lib/libc pdfork S
+
+# 20211230 5e6a2d6eb220 libc++.so.1 path changed in ldscript
+if [ -e "$OBJTOP"/lib/libc++/libc++.ld ] && \
+ fgrep -q "/usr/lib/libc++.so" "$OBJTOP"/lib/libc++/libc++.ld; then
+ echo "Removing old libc++ linker script"
+ rm -f "$OBJTOP"/lib/libc++/libc++.ld
+fi
--
John Baldwin