-
Notifications
You must be signed in to change notification settings - Fork 11k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clang-15 fails to select proper candidate GCC installation on CentOS7 with multiple devtoolset versions #57843
Comments
@llvm/issue-subscribers-clang-driver |
This is pretty ugly; we can't just |
(I don't have a CentOS/Rocky system at hand.) I think Clang Driver should stop detecting There is ongoing effort improving (I landed |
Alright, I documented the config file task internally. What's your opinion for fixing this in the next clang 15 release? Should we just revert my patch and add the devtoolset-12/gcc-toolset-12 paths after all? |
@MaskRay Ping about the question above |
What if we just backported the --gcc-install-dir change? |
Yeah. That will be a good direction forward. On Debian, to use GCC 10, just run I do not know whether mismatched devtoolset-11-binutils and devtoolset-10-gcc should be supported. |
This breaks when the newest available devtoolset directory is not a complete toolset: llvm/llvm-project#57843 Remove this again in favor or just adding the two new directories for devtoolset/gcc-toolset 12. This reverts commit 35aaf54. This reverts commit 9f97720. Fixes llvm/llvm-project#57843 Differential Revision: https://reviews.llvm.org/D136435
This breaks when the newest available devtoolset directory is not a complete toolset: llvm/llvm-project#57843 Remove this again in favor or just adding the two new directories for devtoolset/gcc-toolset 12. This reverts commit 35aaf54. This reverts commit 9f97720. Fixes llvm/llvm-project#57843 Differential Revision: https://reviews.llvm.org/D136435
This breaks when the newest available devtoolset directory is not a complete toolset: llvm#57843 Remove this again in favor or just adding the two new directories for devtoolset/gcc-toolset 12. This reverts commit 35aaf54. This reverts commit 9f97720. Fixes llvm#57843 Differential Revision: https://reviews.llvm.org/D136435
This is a (somewhat obscure) issue that was introduced by a recent driver change to the GCC candidate selection code for RHEL devtoolset installations:
/opt/rh/devtoolset-XXX
path prefixes for the various devtoolset versions, from which the driver selects the one that provides the GCC installation with the highest version number./opt/rh
folder and selects thedevtoolset-XXX
path with the highest number. Only this path is checked for a GCC candidate installation.This change causes problems on systems that have multiple devtoolset versions installed where the latest version does not provide a GCC installation. For instance, consider a system that has a full devtoolset-10 installation as well as a partial (say, only binutils) devtoolset-11 installation. In this case, the clang-15 driver will fail to detect the devtoolset-10 GCC candidate and fall back to the ancient system GCC, while clang-14 will correctly pick up devtoolset-10.
This issue particularly affects ARM installations of CentOS7: For some reason, CentOS does not provide a devtoolset-11-gcc package for ARM. In our case, we therefore have to rely on using both devtoolset-11-binutils and devtoolset-10-gcc, which means the above bug currently prevents us from migrating to clang 15.
The text was updated successfully, but these errors were encountered: