Czy istnieje dobry PPA dla backportów cmake?


17

Szukam niezawodnego PPA dla backportów cmake.

Potrzebuję go zarówno dla Xenial, jak i Trusty (travis-ci). Idealnie chciałbym mieć co najmniej cmake 3.8.

Odpowiedzi:


16

Wiem, że prosiłem o PPA, ale ogólnie rzecz biorąc, każde niezawodne wdrożenie cmake dla 14.04 / 16.04 jest dobre. Blog Kitware zawiera odpowiedź:

https://blog.kitware.com/cmake-python-wheels/

Wydaje się, że oficjalnie popierają zwolnienie kół pip. Aby uzyskać najnowszą wersję cmake, wykonując:

pip install --upgrade cmake

Ponadto, jeśli używasz virtualenv lub conda, możesz mieć różne wersje cmake w tym samym czasie.

Aktualizacja: pakiet pip może wyświetlać niski numer wersji. W tej chwili jest 0,8, jednak instaluje cmake 3.9


miał właśnie zainstalować cmake-0.8.0
— Mina Michael

Przepraszam, nie jestem pewien, czy rozumiem twój komentarz
— Juan Leni,

Zrobiłem pip install --upgrade cmake, ale mam to: Downloading cmake-0.8.0-cp27-cp27mu-manylinux1_x86_64.whl (19.2MB) 1% |▋ | 337kBthx
— Mina Michael

1
tak, wersja 0.8.0 odnosi się do wersji pakietu pip. Wersja cmake, którą instaluje, to 3.9 (sprawdź tutaj pypi.python.org/pypi/cmake )
— Juan Leni

1
Widzę. Mój błąd, ale jest mylący! bardzo dziękuję
— Mina Michael,

12

Istnieje teraz oficjalne repozytorium CMake APT, hostowane przez Kitware ( ogłoszenie ), które ma najnowszą wersję CMake. Obecnie obsługiwane są Ubuntu 16.04 (Xenial) i 18.04 (Bionic), ale nie Trusty. Instrukcje konfiguracji można znaleźć na stronie https://apt.kitware.com/ . Tutaj odtworzyłem kluczowe szczegóły:

...

  1. Uzyskaj kopię naszego klucza do podpisu:

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  2. Dodaj repozytorium do listy źródeł i zaktualizuj.

    W przypadku Ubuntu Bionic Beaver (18.04):

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

    W przypadku Ubuntu Xenial Xerus (16.04):

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main' 
    sudo apt-get update
    
  3. Jako opcjonalny krok zalecamy zainstalowanie naszego kitware-archive-keyringpakietu, aby upewnić się, że Twój brelok będzie aktualny, gdy będziemy obracać klucze. Wykonaj następujące czynności:

    sudo apt-get install kitware-archive-keyring
    sudo apt-key --keyring /etc/apt/trusted.gpg del C1F34CDD40CD72DA
    

Następnie sudo apt-get install cmakezainstaluje najnowszą wersję CMake.


Doskonale - dziękuję za tę informację. Od lipca 2019 r. To repozytorium dostarczyło cmake 3.14.5 dla Ubuntu 16.04.
— davidA

To repozytorium nie obsługuje architektury arm64.
— Victor Lamoine,

10

Wydaje się, że brak jest wiarygodnych PPA z najnowocześniejszych wersji z cmakena miejscu, ale jeśli jesteś zadowolony z użyciem binarne skompilowane ze cmakestrony pobierania Poniższy powinno pomóc (dla Ubuntu 64bit):

cd $HOME
wget https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh
sudo sh cmake-3.12.0-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir

Nie jest to zintegrowane z systemem zarządzania pakietami Ubuntu, ale instaluje się starannie /usr/localw moim systemie i pokazuje, co następuje:

andrew@ilium:~$ cmake --version | head -n1
cmake version 3.12.0

Późniejsze usunięcie polega po prostu na uruchomieniu następującego pojedynczego polecenia w oknie terminala:

sudo rm -rfv /usr/local/bin/{cmake,cpack,ccmake,cmake-gui,ctest} \
             /usr/local/doc/cmake \
             /usr/local/man/man1/{ccmake.1,cmake.1,cmake-gui.1,cpack.1,ctest.1} \
             /usr/local/man/man7/cmake-* \
             /usr/local/share/cmake-3.12

To pozostawia twój system czysty i być może gotowy do zainstalowania jeszcze bardziej nowoczesnej wersji :).

Bibliografia:


Dzięki. Szukałem ppa dla Ubuntu do użycia w Travis-ci. Mógłbym sam zbudować coś dla lokalnego komputera, ale chciałbym tego uniknąć na serwerze CI. Mimo to dostałem odpowiedź, której szukałem: brak niezawodnego PPA ...
— Juan Leni,

Do usunięcia jest jeszcze kilka plików. Znajdź je za pomocą find /usr/local -name '*cmake*' -o -name '*cpack*' -o -name '*ctest*'.
— Melebius
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.