Wie installiere ich die neueste Version von cmake über die Befehlszeile?

86

Ich versuche, die neueste cmakeVersion in meiner Linux-Box zu installieren und bekomme immer die folgende Ausnahme:

userName@phx5qa01c-4e23:~/build$ wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
--2013-10-08 14:39:55--  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Resolving www.cmake.org... 66.194.253.19
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.

--2013-10-08 14:40:17--  (try: 2)  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.

--2013-10-08 14:40:40--  (try: 3)  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80...

Es wird immer wieder versucht ... Irgendwelche Gedanken?

Weiß jemand was ich hier falsch mache? Oder gibt es eine bessere Möglichkeit, die neueste Version von cmake in meiner Linux-Box zu installieren?

userName@phx5qa01c-4e23:~/build$ uname -a
Linux phx5qa01c-4e23 2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux
SSH
quelle
Sind Sie sicher, dass keine Firewall Ihre Verbindung blockiert? Warum benutzen wget? Versuchen Sie, diese Datei ( cmake.org/files/v2.8/cmake-2.8.11.tar.gz ) mit einem Webbrowser herunterzuladen .
Eric Carvalho
Ähnliche Frage hier: askubuntu.com/questions/610291/… mit einer guten Antwort.
Elliptical View
Ich denke, Ihre Frage lautet "So installieren Sie die neueste cmake-Version unter Linux", aber der Befehl sudo apt-get install cmakeinstalliert nicht die neueste Version.
Teocci

Antworten:

22

Wahrscheinlich war der Server auf www.cmake.org nur sehr beschäftigt. Sie können es erneut versuchen oder die Datei mit Ihrem Webbrowser herunterladen.

Es gibt jedoch einen viel einfacheren Weg:

sudo apt-get install cmake

Update: Kommentatoren weisen darauf hin, dass "Ubuntu 12.04 nur die Version 2.8.7 enthält" und "14.04 weiterhin die Version 2.8 enthält" . Das hat einen Grund: 12.04 und 14.04 sind LTS-Versionen von Ubuntu. LTS-Versionen sollen 5 Jahre lang stabil bleiben, daher erhalten sie nur Sicherheits- und wichtige Updates, nicht die neuesten Versionen von Paketen. Normale Veröffentlichungen erscheinen alle 6 Monate und werden daher mit größerer Wahrscheinlichkeit vor kurzem veröffentlicht.

zwets
quelle
3
Ubuntu 12.04 ist nur der Versand v 2.8.7 von cmake mit apt-get. Die aktuelle Version 2 ist 2.8.12. Ich schlage vor, dass Sie durchhalten, wenn Sie es von der Quelle aus erstellen.
Richard Hodges
52
Dies ist nicht die richtige Antwort. Die neueste Version ist fast nie passend.
Senjai,
3
14.04 noch Versand 2.8
Stolas
4
Diese Antwort ist falsch. Die StableReleaseUpdates- Richtlinie gilt nicht nur für LTS-Versionen. Alle Ubuntu-Releases, die tatsächlich veröffentlicht wurden, erhalten nur Korrekturen für Sicherheitslücken oder andere schwerwiegende Fehler. Wie hier (und auf dem Launchpad ) gezeigt, haben selbst Nicht-LTS-Versionen keine neuen cmakeVersionen erhalten. Für einige Pakete sind separate Backports vorhanden (jedoch nicht cmake).
Eliah Kagan
10
Diese Antwort ist falsch, da sudo apt-get install cmakeselbst niemals ein Upgrade cmakeauf eine neuere Version durchgeführt wird. Dies funktioniert in keiner Ubuntu-Version. Wenn Ihre Antwort tatsächlich "Upgrade Ihres Ubuntu-Systems auf eine neuere Version" lautet, möchten Sie diese möglicherweise erneut bearbeiten, um dies zu verdeutlichen. (Dies wäre jedoch für viele Benutzer keine vernünftige Lösung, und häufig gibt es keine veröffentlichte Version von Ubuntu, deren Repositorys die neueste Version von haben cmake.)
Eliah Kagan
160

Die häufigste Situation ist, wenn Sie die neueste Version von cmake installieren möchten , die Repositorys Ihres Betriebssystems jedoch nicht aktualisiert werden. In meinem Fall habe ich beispielsweise einen Laptop mit Ubuntu 16.04 , und als ich den Befehl ausführte, war sudo apt install cmakedie installierte Version 3.5.1 . statt 3.15.4 ist dies die aktuelle version bei cmake.org .

Wie kann ich die neueste Version bekommen?

Nun, wir können es mit einer der folgenden Methoden installieren: Erstellen und Installieren oder Verwenden von Binärdateien .

A. Erstellen und Installieren (empfohlen)

A-1. Deinstallieren Sie die vom Ubuntu-Paketmanager und der Konfiguration bereitgestellte Standardversion mit:

sudo apt remove --purge --auto-remove cmake

oder:

sudo apt purge --auto-remove cmake

A-2. Gehen Sie zur offiziellen CMake-Webseite , laden Sie die neueste Version herunter und extrahieren Sie sie. Aktualisieren Sie die Variablen versionund buildim folgenden Befehl, um die gewünschte Version zu erhalten:

version=3.15
build=4
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build/

A-3. Installieren Sie die extrahierte Quelle, indem Sie Folgendes ausführen:

./bootstrap
make -j$(nproc)
sudo make install

A-4. Testen Sie Ihre neue cmakeVersion.

$ cmake --version

Ergebnisse von cmake --version:

cmake version 3.15.X

CMake suite maintained and supported by Kitware (kitware.com/cmake).

B. Verwenden von Binärdateien ( cmake-guifunktioniert nicht gut)

B-1. Deinstallieren Sie die vom Ubuntu-Paketmanager bereitgestellte Standardversion wie in A-1 .

B-2. Gehen Sie zur offiziellen CMake-Webseite , laden Sie die neueste .shVersion herunter und installieren Sie sie in opt/cmake. Aktualisieren Sie die Variablen versionund buildim folgenden Befehl, um die gewünschte Version zu erhalten:

version=3.15
build=4
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh 
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake

B-3. Fügen Sie den installierten Binärlink hinzu, /usr/local/bin/cmakeindem Sie Folgendes ausführen:

sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake

B-4. Testen Sie Ihre neue cmakeVersion wie in A-4 .

Hinweis

In 3.15.X repräsentiert das X den letzten Teil der Version, die wir als Build definiert haben. Der Build kann sich ändern, wenn cmake aktualisiert wird. Laut der offiziellen Webseite ist die neueste Version 3.15.4 . Wenn Sie das vorherige Release 3.14.7 möchten, ersetzen Sie einfach die Version und erstellen Sie die folgenden Parameter:

version=3.14
build=7
Teocci
quelle
14
Für den Befehl make install sind Root-Berechtigungen erforderlich. Der Befehl cmake --version funktioniert nur, nachdem ein neues Terminal geöffnet wurde, da cmake standardmäßig unter / usr / local / bin / und nicht unter / usr / bin / installiert ist.
HD189733b
@Teocci, ich habe lange versucht, dies auf verschiedene Arten zu tun, und nur Ihre Entscheidung hat mir geholfen. Vielen Dank !!!)))))))
neo
Ich bin froh, dass diese Antwort Ihnen geholfen hat. Viel Spaß beim Programmieren und alles Gute.
Teocci
2
Dies ist keine Lösung für UPDATE, sondern für INSTALL cmake. Versuchen Sie diesen Befehl oder googeln Sie ihn, um eine Lösung zu finden:sudo apt-get remove cmake cmake-data
Teocci
1
Beachten Sie, dass Sie --qt-gui zum Befehl bootstrap hinzufügen müssen, um auch das Tool cmake-gui zu erstellen.
Richard Whitehead
41

Erste Deinstallation jedes Cmake Paket vorher installiert werden . Dann:

  1. Gehen Sie zu http://www.cmake.org/download/ und laden Sie das neueste .sh-Installationsprogramm herunter

  2. Installieren Sie es (zum Beispiel), opt/cmakeindem Sie ausführen

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Fügen Sie das Verzeichnis cmake bin zu Ihrem Pfad hinzu: https://askubuntu.com/a/170240/359343

Auf diese Weise installiert, cmake-guisieht ein bisschen schrecklich aus. Wenn Sie einen Weg finden, dies zu beheben, können Sie diese Antwort gerne bearbeiten.

Antonio
quelle
7
Fügen Sie der installierten Binärdatei einen Link aus / usr / local / bin / cmake hinzu. Auf diese Weise muss der PFAD nicht geändert werden. sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
Christian
2
Das ist die beste Antwort.
SuB
3
Das ist wirklich die nützlichste Antwort für die erste Frage
amigo421
Dies gibt mir eine kaputte cmake-gui, die nicht über xRDP funktioniert (vorherige Version funktioniert), und xRDP ist die einzige Möglichkeit, auf den Server zuzugreifen.
Stiv
@stiv 1. Haben Sie cmakenach der Installation überprüft , ob sich keine andere cmakeVersion in Ihrem Pfad befindet? 2. Können Sie überprüfen, ob Sie die in der Installation bereitgestellte cmake-gui und keine ältere Version verwenden? (Um die Version zu kennen, fügen Sie sie --versionan die Befehlszeile an.)
Antonio,
23

Nur für den Fall, dass jemand das neueste CMAKE in einem Docker-Image installieren muss (wie ich ..). In diesem Fall ist 3.7.2, aber Sie können hier https://cmake.org/download/ überprüfen, wie bereits erwähnt

#install latest cmake
ADD https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh /cmake-3.7.2-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.7.2-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version
Paolo Vigori
quelle
3
Schöne, undokumentierte - Skip-Lizenz-Option :)
4LegsDrivenCat
14

Ich liebe den folgenden Weg, weil Sie eine aktuelle Version ohne viel Mühe bekommen können.

Kitware scheint offiziell eine Veröffentlichung von Pip-Rädern zu unterstützen. So können Sie den neuesten cmake erhalten, indem Sie Folgendes tun:

pip install --upgrade cmake

Hier ist der Blog darüber: https://blog.kitware.com/cmake-python-wheels/

Juan Leni
quelle
6

Kitware verfügt jetzt über ein APT-Repository, das derzeit Ubuntu 16.04 und 18.04 unterstützt

Installationsanweisungen:

  1. Alte Version von cmake entfernen

    sudo apt purge --auto-remove cmake
    
  2. Besorgen Sie sich eine Kopie des Signaturschlüssels

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  3. Fügen Sie das Repository Ihrer Quellenliste hinzu

    ein. Für Ubuntu Bionic Beaver (18.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    

    b. Für Ubuntu Xenial Xerus (16.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. Aktualisieren und installieren

    sudo apt update
    sudo apt install cmake
    
Himel
quelle
4

Sie können auch Folgendes ausführen:

export fn=/tmp/cmake.sh && ls $fn && (echo "use previous $fn? Enter for yes, ctrl+d for no." && read) || (wget -O $fn http://www.cmake.org/files/v3.0/cmake-3.0.2-Linux-i386.sh 1>&2) && (cd /opt && sudo bash ${fn} && echo sudo ln -f -s /opt/cmake*/bin/cmake /usr/local/bin/cmake && cd -)

Dieses Skript

  • fetches make 3.0.2 ** Wenn es in dieser Sitzung bereits heruntergeladen wurde, können Sie es wiederverwenden, wenn Sie die Installation nicht abgeschlossen haben
  • dann kopiert es den link zum bin cmake.
test30
quelle
3

Für einen Docker-Container am besten ausführen

RUN wget -qO- "https://cmake.org/files/v3.12/cmake-3.12.1-Linux-x86_64.tar.gz" | \
  tar --strip-components=1 -xz -C /usr/local

Passen Sie die Version bei Bedarf an.

Sebastian
quelle
2

Alte Version entfernen mit:

apt-get purge cmake

Download binäre Version von cmakein einem Tarball archiviert. Sie können eine neue Version cmakevon verwenden, indem Sie den binVerzeichnispfad zu hinzufügen $PATH. Eine alternative Lösung besteht darin, das tar.gzPaket zu extrahieren und in das Verzeichnis zu wechseln , das nach dem Extrahieren erstellt wurde, und die folgenden Befehle auszuführen:

cp -r bin /usr/
cp -r doc /usr/share/
cp -r man /usr/share/
cp -r share /usr/

Die zweite Methode ist die gleiche wie der Installationsprozess, den das .debPaket ausführt!

SuB
quelle
1

Installieren Sie die neueste Version von cmake aus den Backports, in denen sich viele aktuelle Versionen befinden. Die jeweiligen Backports hängen von Ihrer aktuellen Betriebssystemversion ab. Wenn Sie beispielsweise Debian Stretch ausführen, fügen Sie Folgendes zu /etc/apt/sources.list hinzu

deb http://ftp.debian.org/debian stretch-backports main

Dann installieren Sie von diesem Backport aus, auch bekannt als:

sudo apt-get -t stretch-backports install -y cmake
Jeffmcneill
quelle
0

Sie können die neuesten Versionen von cmake über snap finden. Zum Zeitpunkt des Schreibens dieser Antwort ist die neueste Version von cmake beispielsweise 3.15.3, und snap hat Version 3.15.2.

sudo apt-get purge cmake
sudo snap install cmake --classic
qwr
quelle
0

Die Antwort von qwr auf die Verwendung von snap kann gut sein, aber wenn Sie etwas noch Neueres wollen, macht es cmake einfach, eine DEB aus dem Quellcode zu erstellen. Im Folgenden wird davon ausgegangen, dass Sie bereits einen neuen cmake installiert haben. Ubuntu 18.04s apt install cmake wird hier definitiv funktionieren.

sudo apt-get build-dep cmake
git clone http://www.cmake.org/cmake.git
cd cmake
git tag
# find the highest tagged release value (hint, rarely at the bottom)
git co tags/<highest tagged release value>
mkdir build
cd build
cmake ..
cmake --build .
cpack -G DEB
# you built a single deb that has what Ubuntu provides as two debs, the binary
# deb and the additional architecture independent data files
sudo apt remove cmake-data
sudo dpkg -i cmake-<highest tagged release value>-Linux-x86_64.deb
mheyman
quelle