Skip to content

clang selects wrong GCC installation #140866

Open
@andreas-schwab

Description

@andreas-schwab
$ clang conftest.o -v
clang version 20.1.4
Target: riscv64-suse-linux
Thread model: posix
InstalledDir: /usr/bin
System configuration file directory: /etc/clang
User configuration file directory: /home/abuild/.config/clang
Found candidate GCC installation: /usr/bin/../lib64/gcc/riscv64-suse-linux/14
Found candidate GCC installation: /usr/bin/../lib64/gcc/riscv64-suse-linux/15
Selected GCC installation: /usr/bin/../lib64/gcc/riscv64-suse-linux/15
 "/usr/bin/ld" -z relro --hash-style=both --build-id --eh-frame-hdr -m elf64lriscv -X -pie -dynamic-linker /lib/ld-linux-riscv64-lp64d.so.1 -o a.out /usr/bin/../lib64/gcc/riscv64-suse-linux/15/../../../../lib64/Scrt1.o /usr/bin/../lib64/gcc/riscv64-suse-linux/15/../../../../lib64/crti.o crtbeginS.o -L/usr/bin/../lib64/gcc/riscv64-suse-linux/15 -L/usr/bin/../lib64/gcc/riscv64-suse-linux/15/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/lib64/lp64d -L/usr/lib64/lp64d -L/usr/bin/../lib64/gcc/riscv64-suse-linux/15/../../../../riscv64-suse-linux/lib -L/lib -L/usr/lib conftest.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed crtendS.o /usr/bin/../lib64/gcc/riscv64-suse-linux/15/../../../../lib64/crtn.o
/usr/bin/ld: cannot find crtbeginS.o: No such file or directory
/usr/bin/ld: cannot find -lgcc: No such file or directory
/usr/bin/ld: cannot find -lgcc_s: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
$ ls /usr/bin/../lib64/gcc/riscv64-suse-linux/14
cc1            libasan.a          libgomp.spec       libstdc++fs.a
collect2       libasan.so         libitm.a           libsupc++.a
crtbegin.o     libasan_preinit.o  libitm.so          libtsan.a
crtbeginS.o    libatomic.a        libitm.spec        libtsan.so
crtbeginT.o    libatomic.so       liblsan.a          libtsan_preinit.o
crtend.o       libgcc.a           liblsan.so         libubsan.a
crtendS.o      libgcc_eh.a        liblsan_preinit.o  libubsan.so
crti.o         libgcc_s.so        liblto_plugin.so   lto-wrapper
crtn.o         libgcc_s.so.1      libsanitizer.spec  lto1
defaults.spec  libgcov.a          libstdc++.a
include        libgomp.a          libstdc++.so
include-fixed  libgomp.so         libstdc++exp.a
$ ls /usr/bin/../lib64/gcc/riscv64-suse-linux/15
libstdc++.a             libstdc++.so    libstdc++fs.a
libstdc++.modules.json  libstdc++exp.a  libsupc++.a
$ gcc --version
gcc (SUSE Linux) 14.2.1 20250430 [revision 3418d740b344e0ba38022f3bed90540ec3de35dd]
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang:driver'clang' and 'clang++' user-facing binaries. Not 'clang-cl'

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions