2017-05-27 129 views
2

對於Clang 3.9,我已經從 https://copr-be.cloud.fedoraproject.org/results/alonid/llvm-3.9.0/epel-7-x86_64/00505197-clang-3.9.0/中得到rpm包。如何在CentOS 7上安裝Clang和LLVM 3.9

我被命令

rpm -ivh clang-3.9.0-3.9.0-3.1.el7.centos.alonid.src.rpm 

安裝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 

我應該在哪裏安裝所有這些依賴關係?

+0

嘗試在該目錄中的clang-libs rpm。 – nos

+0

我在centos 7.3上安裝了clang 3.9。我應該從以下鏈接安裝哪個rpm:https://www.rpmfind.net/linux/rpm2html/search.php?query=clang-libs –

+0

您的文章包含https://copr-be.cloud的鏈接。 fedoraproject.org/results/alonid/llvm-3.9.0/epel-7-x86_64/00505197-clang-3.9.0,那裏有幾個rpms。您發佈的錯誤消息顯示「需要clang-3.9.0-libs(x86-64)= 3.9.0-3.1.el7.centos.alonid ...」您是否嘗試安裝clang和clang-libs rpm從你發佈的鏈接? – nos

回答

1

只要打開your link環顧四周,也可以走高一級,找到所有必要的.rpm's。下面的序列爲我工作:

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 install沒有鏘和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包,你只能得到binlib64文件夾,其中只喜歡bin/clang的可執行文件和庫像lib64/libLLVM-3.9.0.so所在。如果你還想用LLVM/Clang開發一些東西,你需要相應的-devel包。然後,您還將獲得帶有標題的include/文件夾。

順便說一句,感謝這個回購的維護者。很高興有LLVM 3.9開箱。

4

有實現這個更簡單的方法:

添加Alonid的回購協議/etc/yum.repos.d/epel.repo(假設你已經安裝EPEL回購)

echo "[alonid-llvm-3.9.0] 
name=Copr repo for llvm-3.9.0 owned by alonid 
baseurl=https://copr-be.cloud.fedoraproject.org/results/alonid/llvm- 
3.9.0/epel-7-$basearch/ 
type=rpm-md 
skip_if_unavailable=True 
gpgcheck=1 
gpgkey=https://copr-be.cloud.fedoraproject.org/results/alonid/llvm- 
3.9.0/pubkey.gpg 
repo_gpgcheck=0 
enabled=1 
enabled_metadata=1" >> /etc/yum.repos.d/epel.repo 

然後,只需sudo yum install clang-3.9.0

+0

你需要在'$ basearch'中轉義'''',否則shell會吃掉它 – alexgirao

1

通過啓用SCL存儲庫,您可以使用llvm-toolset-7包在CentOS 7上安裝Clang 4。

$ sudo yum install centos-release-scl 
$ yum install llvm-toolset-7 

啓用llvm-toolset-7

$ scl enable llvm-toolset-7 bash 

有關更多信息,請參見本Red Hat blog post。請參閱this page