Created attachment 541006 [details] emerge --info This causes build failures in the runtime libraries, like the following in sys-libs/compiler-rt: -- The C compiler identification is unknown -- The CXX compiler identification is unknown -- The ASM compiler identification is unknown -- Found assembler: i586-pc-linux-gnu-clang CMake Error at CMakeLists.txt:10 (project): The CMAKE_C_COMPILER: i586-pc-linux-gnu-clang is not a full path and was not found in the PATH. Tell CMake where to find the compiler by setting either the environment variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. I've worked around the issue for now by manually creating the needed symlinks.
Bumped into the same issue emerging compiler-rt: loading initial cache file compiler-rt-6.0.1/work/compiler-rt-6.0.1_build/gentoo_common_config.cmake -- The C compiler identification is unknown -- The CXX compiler identification is unknown -- The ASM compiler identification is unknown -- Found assembler: x86_64-gentoo-linux-gnu-clang CMake Error at CMakeLists.txt:10 (project): The CMAKE_C_COMPILER: x86_64-gentoo-linux-gnu-clang is not a full path and was not found in the PATH. I noticed that the file work/compiler-rt-6.0.1_build/gentoo_toolchain.cmake contained my custom CHOST (I know.. because of reasons) in it, while clang installed symlinks with a generic/profile CHOST.
This may be related to bugs #616566 and #651908 and seems caused by clang ebuild not taking custom CHOST into account when installing symlinks.
> > I've worked around the issue for now by manually creating the needed > symlinks. Can you please post some instructions on how to create those symlinks? I even got three errors: CMAKE_C_COMPILER: i486-pc-linux-gnu-clang CMAKE_CXX_COMPILER: i486-pc-linux-gnu-clang++ CMAKE_ASM_COMPILER: i486-pc-linux-gnu-clang
You can see the existing symlinks by e.g. cd /usr/lib/llvm/13/bin ls -l i686-pc-linux-gnu-* You can make the symlinks manually, but here's a little one-liner script you could use (run in the same directory): for tool in clang clang++ clang-cl clang-cpp; do ln -s "${tool}-13" "i486-pc-linux-gnu-${tool}-13"; ln -s "i486-pc-linux-gnu-${tool}-13" "i486-pc-linux-gnu-${tool}"; done