มี PPA ที่ดีสำหรับ cmake backport หรือไม่?


17

ฉันกำลังมองหา PPA ที่เชื่อถือได้สำหรับ backake cmake

ฉันต้องการทั้ง Xenial และ Trusty (travis-ci) โดยหลักการแล้วฉันต้องการที่จะมีอย่างน้อย cmake 3.8

คำตอบ:


16

ฉันรู้ว่าฉันขอ PPA แต่โดยทั่วไปแล้วการปรับใช้ cmake ที่เชื่อถือได้สำหรับ 14.04 / 16.04 นั้นเป็นเรื่องที่ดี บล็อกของ Kitware แสดงคำตอบ:

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

ดูเหมือนว่าพวกเขาจะสนับสนุนการปล่อย pip pip อย่างเป็นทางการ ดังนั้นคุณสามารถรับ cmake ล่าสุดได้โดยทำดังนี้

pip install --upgrade cmake

นอกจากนี้หากคุณใช้ virtualenv หรือ conda คุณสามารถมีรุ่น cmake ที่แตกต่างกันในเวลาเดียวกัน

อัปเดต:แพคเกจ pip อาจแสดงหมายเลขเวอร์ชั่นต่ำ ในขณะนี้มันเป็น 0.8 อย่างไรก็ตามมันติดตั้ง cmake 3.9


มันกำลังจะติดตั้ง cmake-0.8.0
Mina Michael

ขออภัยฉันไม่แน่ใจว่าฉันเข้าใจคุณแสดงความคิดเห็น
Juan Leni

ฉันทำได้pip install --upgrade cmakeแต่ฉันได้รับสิ่งนี้: Downloading cmake-0.8.0-cp27-cp27mu-manylinux1_x86_64.whl (19.2MB) 1% |▋ | 337kBขอบคุณ
Mina Michael

1
ใช่เวอร์ชั่น 0.8.0 หมายถึงเวอร์ชั่นแพ็คเกจ pip รุ่น cmake ที่ติดตั้งคือ 3.9 (ตรวจสอบที่นี่pypi.python.org/pypi/cmake )
Juan Leni

1
ฉันเห็น. ผิดพลาดของฉัน แต่มันจะทำให้เกิดความสับสน! ขอบคุณมาก
มีน่าไมเคิล

12

ขณะนี้มีพื้นที่เก็บข้อมูลอย่างเป็นทางการ CMake APT โฮสต์โดย Kitware ( ประกาศ ) ซึ่งมีเวอร์ชันล่าสุดของ CMake ปัจจุบันรองรับ Ubuntu 16.04 (Xenial) และ 18.04 (Bionic) แต่ไม่ใช่ Trusty คำแนะนำในการตั้งค่าสามารถพบได้ที่https://apt.kitware.com/ ฉันทำซ้ำรายละเอียดสำคัญที่นี่:

...

  1. รับสำเนาของรหัสลงนามของเรา:

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  2. เพิ่มที่เก็บลงในรายการแหล่งที่มาของคุณและอัปเดต

    สำหรับ Ubuntu Bionic Beaver (18.04):

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

    สำหรับ Ubuntu Xenial Xerus (16.04):

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main' 
    sudo apt-get update
    
  3. ในขั้นตอนเพิ่มเติมเราขอแนะนำให้คุณติดตั้งkitware-archive-keyringแพคเกจของเราเพื่อให้แน่ใจว่าพวงกุญแจของคุณทันสมัยอยู่เสมอขณะที่เราหมุนกุญแจ ทำดังต่อไปนี้:

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

หลังจากนี้sudo apt-get install cmakeจะติดตั้ง CMake ล่าสุด


ยอดเยี่ยม - ขอบคุณสำหรับข้อมูลนี้ ตั้งแต่เดือนกรกฎาคม 2019, repo นี้จัดหา cmake 3.14.5 สำหรับ Ubuntu 16.04
davidA

ที่เก็บนี้ไม่สนับสนุนสถาปัตยกรรม arm64
Victor Lamoine

10

ดูเหมือนจะไม่มี PPA ที่เชื่อถือได้กับรุ่นที่ทันสมัยที่สุดของการcmakeอยู่ในสถานที่ แต่ถ้าคุณมีความสุขกับการใช้ไบนารีที่สร้างไว้ล่วงหน้าจากcmakeหน้าดาวน์โหลดต่อไปนี้จะช่วยให้ (สำหรับ 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

สิ่งนี้ไม่ได้รวมเข้ากับระบบการจัดการแพ็คเกจของ Ubuntu แต่ติดตั้งอย่างเรียบร้อย/usr/localและบนระบบของฉันจากนั้นแสดงสิ่งต่อไปนี้:

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

การลบที่ตามมาเป็นเพียงเรื่องของการเรียกใช้คำสั่งเดียวต่อไปนี้ในหน้าต่าง Terminal:

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

สิ่งนี้จะทำให้ระบบของคุณสะอาดและพร้อมที่จะติดตั้งเวอร์ชันที่ทันสมัยยิ่งขึ้น :)

อ้างอิง:

  • cmake: รับซอฟต์แวร์หน้าดาวน์โหลดอย่างเป็นทางการสำหรับ cmake ข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับไฟล์ตัวติดตั้ง. sh

ขอบคุณ ฉันกำลังมองหา ppa สำหรับ Ubuntu ที่จะใช้ใน travis-ci ฉันสามารถสร้างสิ่งต่าง ๆ สำหรับคอมพิวเตอร์ในท้องถิ่นได้ แต่ฉันต้องการหลีกเลี่ยงสิ่งนั้นในเซิร์ฟเวอร์ CI แต่ฉันก็ยังได้คำตอบที่ผมต้องการ: ไม่น่าเชื่อถือ PPA ที่มีอยู่ ...
ฆ Leni

มีไฟล์ที่จะลบอีกสองสามรายการ find /usr/local -name '*cmake*' -o -name '*cpack*' -o -name '*ctest*'พบพวกเขาใช้
Melebius
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.