Wie installiere ich cling?


13

Ich versuche, clingin Ubuntu 12.04 zu installieren . Ich dachte, der richtige Weg wäre, die Binärdateien herunterzuladen, wie sie hier verfügbar sind , aber der extrahierte Ordner sieht folgendermaßen aus:

~/Desktop/cling » ls      
bin  docs  include  lib  share

Ich denke, dies erfordert das Zusammenführen des Verzeichnisinhalts mit einigen Verzeichnissen meines Dateisystems. Ich bin mit dieser Methode nicht vertraut, aber sie scheint mir ein bisschen schmutzig zu sein. Wie kann ich es installieren, aktualisieren, löschen?

Ich habe darüber nachgedacht, es mit einem Deb zu verpacken, aber ich habe nie eines gemacht, deshalb weiß ich nicht, ob es der richtige Weg ist.

Gibt es eine bessere Möglichkeit zur Installation cling?


Antworten:


11

Cling bietet jetzt binäre Snapshots für Ubuntu (sowie Fedora und OSX), die Sie hier finden: https://root.cern.ch/download/cling

Zum Beispiel, wenn Sie auf Ubuntu 16 (oder neuer?) Sind:

sudo apt install -y wget unar
wget https://root.cern.ch/download/cling/cling_2018-09-21_ubuntu16.tar.bz2
unar cling_2018-09-21_ubuntu16.tar.bz2
./cling_2018-09-21_ubuntu16/bin/cling

1
Ja, aber wo platzieren Sie diese Dateien? Es gibt keine Anweisungen.
Joel Cressy

1
@JoelCressy Ich denke, es soll im Stammverzeichnis ("/") entpackt werden. Ich würde es jedoch nur ungern versuchen, da es später schwierig sein wird, es zu deinstallieren, da die Dateien nicht unter der Kontrolle des Paketmanagers stehen.
Philipp Claßen

1
@JoelCressy Sie können es einfach normal aus dem bin-Verzeichnis github.com/root-project/cling#usage ausführen . Sie können das Verzeichnis zum PATH hinzufügen, um es von überall aus auszuführen.
Petar

@Petar Aber wo platzieren Sie diese Dateien?
Endolith

@endolith, gleiche Antwort wie oben, überprüfen Sie die Verwendung von github.com/root-project/cling#usage und fügen Sie sie Ihrem Benutzer PATH hinzu (hängt davon ab, auf welcher Plattform Sie sich befinden, aber es gibt viele Möglichkeiten, dies zu tun. Überprüfen Sie einfach die Anweisungen für Ihre Plattform)
Petar

9

Ok, dies ist kein Wochenendprojekt und anscheinend müssen zu viele Dinge installiert werden, bevor sie in Betrieb genommen werden können. Also habe ich das nicht selbst getestet, aber es steht in der Anleitung (+ ein paar Ubuntu-Teile):

Holen Sie sich zuerst die Tools, Sie müssen möglicherweise andere auf Ihrem System installiert haben, um dies zu verhindern:

sudo apt-get install build-essential zlib-bin zlib1g-dev subversion texinfo git

Erstellen Sie nun ein leeres Verzeichnis, um Ihr Experiment durchzuführen:

mkdir ~/cling-clang
cd ~/cling-clang

Dieser Schritt dauert eine Weile, wenn Sie eine langsame Verbindung haben (bitte verwenden Sie jeweils eine Leitung ):

svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
git clone http://root.cern.ch/git/cling.git
cd ..
cat tools/cling/patches/*.diff | patch -p0
cd ../llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
cd ../..
mkdir build
cd build

Beginnen Sie jetzt den Spaß. Wenn nichts der oben genannten Fehler aufgetreten ist, können Sie fortfahren:

../llvm/configure --enable-targets=host
make

Dadurch werden LLVM, Clang und Cling erstellt. Es sollte einen Paketbetreuer geben, der dieses Zeug für Debian / Ubuntu erledigt. Ich gebe meinen Hut ab. Dadurch wird der Cling erstellt, aber nicht installiert. Möglicherweise möchten Sie checkinstall anstelle von verwenden sudo make install.


1
Ich habe es gebaut .. aber es fehlt clingbin .. Ich habe festgestellt, dass make keine Klammer baut .. vermisse ich etwas?
GC5

1
@Francesco hat diesen Teil vergessen "Folgen Sie jetzt erneut der Clang-Webseite für ./configure; make-basierte Build-Anweisungen. Sie müssen --enable-target = Host zum Konfigurieren angeben ! "
Braiam

Wow, das ist viel Arbeit
Pithikos

3
Das Erstellen von llvm mit configure und make wird nicht mehr unterstützt, wir müssen cmake verwenden.
MR
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.