commit: abdb7522fe5f609ecd70959b1a95e67e76daa351
Author: Michal Rostecki <vadorovsky <AT> protonmail <DOT> com>
AuthorDate: Thu Jan 1 17:01:33 2026 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 2 04:12:25 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abdb7522
llvm-runtimes/libcxx: Always place library symlinks in /usr/lib*, not /lib*
Executing `dolib.so` after `into /usr/${CTARGET}` results in the file
being placed in `/usr/${CTARGET}/lib(64)`. At the same time, CMake
installs all the library files in `/usr/${CTARGET}/usr/lib(64)`
(`usr/lib*`, not `lib*` inside the sysroot).
Given that crossdev creates split-usr environments, that results in the
`libc++_shared.so` symlink being broken - the library file it points to
is in a different directory.
Fix that by calling `into /usr/${CTARGET}/usr`, so the directory used
by `dolib` matches the directory with actual library artifacts.
Bug: https://bugs.gentoo.org/968255
Signed-off-by: Michal Rostecki <vadorovsky <AT> protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45221
Closes: https://github.com/gentoo/gentoo/pull/45221
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
llvm-runtimes/libcxx/libcxx-19.1.7.ebuild | 4 ++--
llvm-runtimes/libcxx/libcxx-20.1.8-r1.ebuild | 4 ++--
llvm-runtimes/libcxx/libcxx-21.1.8.ebuild | 4 ++--
llvm-runtimes/libcxx/libcxx-22.0.0.9999.ebuild | 4 ++--
llvm-runtimes/libcxx/libcxx-22.0.0_pre20251127.ebuild | 4 ++--
llvm-runtimes/libcxx/libcxx-22.0.0_pre20251223.ebuild | 4 ++--
6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/llvm-runtimes/libcxx/libcxx-19.1.7.ebuild
b/llvm-runtimes/libcxx/libcxx-19.1.7.ebuild
index 3d25c65f44de..0e27be5e76cc 100644
--- a/llvm-runtimes/libcxx/libcxx-19.1.7.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-19.1.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -181,7 +181,7 @@ multilib_src_install() {
# since we've replaced libc++.{a,so} with ldscripts, now we have to
# install the extra symlinks
if [[ ${CHOST} != *-darwin* ]] ; then
- is_crosspkg && into /usr/${CTARGET}
+ is_crosspkg && into /usr/${CTARGET}/usr
dolib.so lib/libc++_shared.so
use static-libs && dolib.a lib/libc++_static.a
fi
diff --git a/llvm-runtimes/libcxx/libcxx-20.1.8-r1.ebuild
b/llvm-runtimes/libcxx/libcxx-20.1.8-r1.ebuild
index 82dd642d2abc..e0e4478f8d0d 100644
--- a/llvm-runtimes/libcxx/libcxx-20.1.8-r1.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-20.1.8-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -190,7 +190,7 @@ multilib_src_install() {
# since we've replaced libc++.{a,so} with ldscripts, now we have to
# install the extra symlinks
if [[ ${CHOST} != *-darwin* ]] ; then
- is_crosspkg && into /usr/${CTARGET}
+ is_crosspkg && into /usr/${CTARGET}/usr
dolib.so lib/libc++_shared.so
use static-libs && dolib.a lib/libc++_static.a
fi
diff --git a/llvm-runtimes/libcxx/libcxx-21.1.8.ebuild
b/llvm-runtimes/libcxx/libcxx-21.1.8.ebuild
index 506916d888fa..4ca019f00c96 100644
--- a/llvm-runtimes/libcxx/libcxx-21.1.8.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-21.1.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -190,7 +190,7 @@ multilib_src_install() {
# since we've replaced libc++.{a,so} with ldscripts, now we have to
# install the extra symlinks
if [[ ${CHOST} != *-darwin* ]] ; then
- is_crosspkg && into /usr/${CTARGET}
+ is_crosspkg && into /usr/${CTARGET}/usr
dolib.so lib/libc++_shared.so
use static-libs && dolib.a lib/libc++_static.a
fi
diff --git a/llvm-runtimes/libcxx/libcxx-22.0.0.9999.ebuild
b/llvm-runtimes/libcxx/libcxx-22.0.0.9999.ebuild
index c72ef6e7c89c..7d224001ae1b 100644
--- a/llvm-runtimes/libcxx/libcxx-22.0.0.9999.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-22.0.0.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -196,7 +196,7 @@ multilib_src_install() {
# install the extra symlinks
if [[ ${CHOST} != *-darwin* ]] ; then
local libdir=$(get_libdir)
- is_crosspkg && into /usr/${CTARGET}
+ is_crosspkg && into /usr/${CTARGET}/usr
dolib.so "${libdir}"/libc++_shared.so
use static-libs && dolib.a "${libdir}"/libc++_static.a
fi
diff --git a/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251127.ebuild
b/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251127.ebuild
index 9825200fd784..62e18ee138be 100644
--- a/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251127.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251127.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -196,7 +196,7 @@ multilib_src_install() {
# install the extra symlinks
if [[ ${CHOST} != *-darwin* ]] ; then
local libdir=$(get_libdir)
- is_crosspkg && into /usr/${CTARGET}
+ is_crosspkg && into /usr/${CTARGET}/usr
dolib.so "${libdir}"/libc++_shared.so
use static-libs && dolib.a "${libdir}"/libc++_static.a
fi
diff --git a/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251223.ebuild
b/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251223.ebuild
index c72ef6e7c89c..7d224001ae1b 100644
--- a/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251223.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251223.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -196,7 +196,7 @@ multilib_src_install() {
# install the extra symlinks
if [[ ${CHOST} != *-darwin* ]] ; then
local libdir=$(get_libdir)
- is_crosspkg && into /usr/${CTARGET}
+ is_crosspkg && into /usr/${CTARGET}/usr
dolib.so "${libdir}"/libc++_shared.so
use static-libs && dolib.a "${libdir}"/libc++_static.a
fi