web-dev-qa-db-fra.com

Comment installer Clang et LLVM 3.9 sur CentOS 7

J'ai pris des paquets rpm de https://copr-be.cloud.fedoraproject.org/results/alonid/llvm-3.9.0/epel-7-x86_64/00505197-clang-3.9.0/ pour Clang 3.9.

J'installe les paquets rpm à l'aide de la commande

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

Mais quand je fais 

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

Je reçois l'erreur suivante:

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

Où devrais-je installer toutes ces dépendances?

5
Seetu Agarwal

En activant le référentiel SCL, vous pouvez installer Clang 4 sur CentOS 7 à l’aide du paquet llvm-toolset-7 .

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

Activer llvm-toolset-7:

$ scl enable llvm-toolset-7 bash

Vous pouvez maintenant vérifier votre version avec:

$ clang --version

Voir ceci Article de blog Red Hat pour plus d'informations.

Pour plus d'informations sur SCL, voir cette page .

15
phoenix

Il y avait un moyen beaucoup plus facile d'y parvenir:

Ajoutez le référentiel Alonid au /etc/yum.repos.d/epel.repo (en supposant que le référentiel epel soit installé)

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

Alors juste Sudo yum install clang-3.9.0

5
Andy Mo

Je suis l'auteur du référentiel RPM que vous avez mentionné.

Suivez à partir de la page principale Copr du référentiel:

https://copr.fedorainfracloud.org/coprs/alonid/llvm-3.9.0/

Si vous avez des questions, vous pouvez me contacter à partir de là. Merci!

4
Dan Aloni

Ouvrez simplement votre lien et regardez autour de vous, montez aussi un niveau plus haut et trouvez tous les .rpm nécessaires. La séquence suivante a fonctionné pour moi:

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

En faisant simplement yum install sans aucun drapeau, Clang et LLVM seront installés sur /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

Notez également qu'il existe d'autres packages tels que -devel, -static, -debuginfo.

Conseil utile: Sans installer les packages -devel, vous n’obtenez que les dossiers bin et lib64 contenant uniquement les exécutables tels que bin/clang et les bibliothèques telles que lib64/libLLVM-3.9.0.so. Si vous souhaitez également développer quelque chose avec LLVM/Clang, vous aurez besoin des packages -devel correspondants. Ensuite, vous obtiendrez également le dossier include/ avec les en-têtes.

En passant, merci aux responsables de ce dépôt. C'est bien d'avoir LLVM 3.9 prêt à l'emploi.

1

Un processus d'installation complet est fourni par Red Hat. Veuillez vous référer à documents Red Hat .

0
Esmaeil Mirzaee