如何在CentOS 7上安装Clang和LLVM 3.9

如何在CentOS 7上安装Clang和LLVM 3.9,clang,llvm,Clang,Llvm,我已经采取rpm软件包从 对于叮当声3.9 我正在通过命令安装rpm包 rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.src.rpm 但当我这么做的时候 rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64.rpm 我得到以下错误: error: Failed dependencies: clang-3.9.0-libs(x86-64) = 3.9.0-3.1.el7.cen

我已经采取rpm软件包从 对于叮当声3.9

我正在通过命令安装rpm包

rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.src.rpm
但当我这么做的时候

rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64.rpm
我得到以下错误:

error: Failed dependencies:
    clang-3.9.0-libs(x86-64) = 3.9.0-3.1.el7.centos.alonid is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libLLVM-3.9.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclang.so.3.9()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangAST.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangBasic.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangCodeGen.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangDriver.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangFormat.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangFrontend.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangFrontendTool.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangIndex.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangRewrite.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangRewriteFrontend.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangStaticAnalyzerFrontend.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangTooling.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
    libclangToolingCore.so()(64bit) is needed by clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64
我应该从何处安装所有这些依赖项?

只需打开并四处看看,再上一层,找到所有必要的
.rpm
。以下顺序对我有效:

yum install compiler-rt-3.9.0-3.9.0-3.el7.centos.alonid.x86_64.rpm
yum install clang-3.9.0-libs-3.9.0-3.1.el7.centos.alonid.x86_64.rpm
yum install clang-3.9.0-3.9.0-3.1.el7.centos.alonid.x86_64.rpm
yum install llvm-3.9.0-libs-3.9.0-7.el7.centos.alonid.x86_64.rpm
yum install llvm-3.9.0-3.9.0-7.el7.centos.alonid.x86_64.rpm
yum install llvm-3.9.0-devel-3.9.0-7.el7.centos.alonid.x86_64.rpm
只需执行不带任何标志的
yum安装
,即可将Clang和LLVM安装到
/opt/LLVM-3.9.0

$ ls -l /opt/llvm-3.9.0 
total 12
drwxr-xr-x 2 root root 4096 Jun  3 23:48 bin
drwxr-xr-x 3 root root 4096 Jun  3 23:23 include
drwxr-xr-x 3 root root 4096 Jun  3 23:27 lib64
还请注意,还有其他包,如
-devel
-static
-debuginfo

有用提示:如果不安装
-devel
软件包,您只会得到
bin
lib64
文件夹,其中只有
bin/clang
等可执行文件和
lib64/libLLVM-3.9.0等库。因此
位于这些文件夹中。如果您还想用LLVM/Clang开发一些东西,您将需要相应的
-devel
包。然后您还将获得带有标题的
include/
文件夹


顺便说一下,多亏了回购协议的维护者。很高兴LLVM 3.9开箱即用。

有一种更简单的方法来实现这一点:

将Alonid的repo添加到
/etc/yum.repos.d/epel.repo
(假设已安装epel-repo)


然后只需
sudoyum安装clang-3.9.0

我就是您提到的RPM存储库的作者

从存储库的主Copr页面执行以下操作:


如果你有任何问题,你可以从那里联系我。谢谢

通过启用SCL存储库,您可以使用该软件包在CentOS 7上安装Clang 5.0.1

启用
llvm-toolset-7

$ scl enable llvm-toolset-7 bash
现在,您可以使用以下工具检查您的clang版本:

$ clang --version
有关更多信息,请参见此


有关SCL的更多信息,请参阅。

Red Hat提供了完整的安装过程,请参阅。

尝试该目录中的clang libs rpm。我正在centos 7.3上安装clang 3.9。我应该从以下链接安装哪个rpm:您的帖子包含指向的链接,那里有几个rpm。您发布的错误消息显示“clang-3.9.0-libs(x86-64)=3.9.0-3.1.el7.centos.alonid是由…”需要的。“您是否尝试从您发布的链接安装clang和clang-libs rpm?您需要在
$basearch
中转义
$
。。否则shell将从3.8.0开始吃掉它,clang支持OpenMP。在CentOS 7上哪里可以找到clang 3.8.0的libomp软件包?这是一个只提供链接的答案。目前,安装llvm-toolset-7为2020年阅读本文的任何人提供了clang版本5.0.1,
scl enable
步骤应写为:
scl enable llvm-toolset-7'bash'
,否则将出现
无法打开的错误。资料来源:
$ scl enable llvm-toolset-7 bash
$ clang --version