मैं कमांड लाइन से cmake का नवीनतम संस्करण कैसे स्थापित करूं?


86

मैं cmakeअपने लिनक्स बॉक्स में नवीनतम स्थापित करने की कोशिश कर रहा हूं और मुझे हमेशा नीचे अपवाद मिल रहा है -

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...

यह हमेशा पीछे हट रहा है ... कोई विचार?

क्या किसी को पता है कि मैं यहाँ क्या गलत कर रहा हूँ? या मेरे लिनक्स बॉक्स में cmake के नवीनतम संस्करण को स्थापित करने का कोई बेहतर तरीका है?

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

क्या आप सुनिश्चित हैं कि कोई फ़ायरवॉल आपके कनेक्शन को अवरुद्ध नहीं कर रहा है? क्यों का उपयोग कर wget? वेब ब्राउज़र का उपयोग करके उस फ़ाइल ( cmake.org/files/v2.8/cmake-2.8.11.tar.gz ) को डाउनलोड करने का प्रयास करें ।
एरिक कारवाल्हो

इसी तरह के सवाल यहाँ: askubuntu.com/questions/610291/… एक अच्छे उत्तर के साथ।
अण्डाकार दृश्य

मुझे लगता है कि आपका सवाल " लिनक्स में नवीनतम सेमीकेक संस्करण कैसे स्थापित करें " लेकिन कमांड sudo apt-get install cmakeनवीनतम संस्करण को स्थापित नहीं करता है।
टेओसी

जवाबों:


22

संभवतः www.cmake.org पर सर्वर बहुत व्यस्त था। आप अपने वेब ब्राउज़र का उपयोग करके फिर से कोशिश कर सकते हैं या फ़ाइल डाउनलोड कर सकते हैं।

हालांकि बहुत आसान तरीका है:

sudo apt-get install cmake

अपडेट: टिप्पणीकार बताते हैं कि "Ubuntu 12.04 केवल शिपिंग v2.8.7 है" और "14.04 अभी भी 2.8 शिपिंग है" । यह एक कारण के लिए है: 12.04 और 14.04 उबंटू के एलटीएस रिलीज़ हैं। एलटीएस रिलीज का उद्देश्य 5 साल तक स्थिर रहना है, इसलिए उन्हें केवल सुरक्षा और महत्वपूर्ण अपडेट मिलते हैं, न कि पैकेजों की नवीनतम रिलीज। सामान्य रिलीज हर 6 महीने में निकलती हैं, और इसलिए हाल ही में सेमीके साथ आने की अधिक संभावना है।


3
ubuntu 12.04 केवल शिपिंग v है। 2.8.7 सेमी की apt-get के साथ। संस्करण 2 की वर्तमान रिलीज 2.8.12 है। मेरा सुझाव है कि आप इसे स्रोत से बनाने के लिए दृढ़ रहें।
रिचर्ड होजेस

52
यह सही उत्तर नहीं है। नवीनतम संस्करण लगभग कभी उपयुक्त नहीं है।
सेनजई

3
14.04 अभी भी 2.8
9

4
यह उत्तर गलत है। StableReleaseUpdates नीति है नहीं LTS विज्ञप्ति बस के लिए। सभी उबंटू रिलीज, एक बार वास्तव में जारी होने के बाद, केवल सुरक्षा कमजोरियों या अन्यथा गंभीर बग के लिए सुधार प्राप्त करते हैं। जैसा कि यहां (और लॉन्चपैड पर ) दिखाया गया है , यहां तक ​​कि गैर-एलटीएस रिलीज को नए cmakeसंस्करण नहीं मिले हैं। कुछ पैकेजों के लिए अलग-अलग बैकपोर्ट मौजूद हैं (लेकिन नहीं cmake)।
एलियाह कगन

10
यह उत्तर गलत है क्योंकि sudo apt-get install cmakeअपने आप से, कभी भी cmakeएक नए संस्करण में अपग्रेड नहीं होता है। यह किसी भी Ubuntu रिलीज पर काम नहीं करता है। यदि आपका जवाब वास्तव में "अपने उबंटू सिस्टम को एक नए रिलीज़ में अपग्रेड करना" है, तो आप उस स्पष्ट को बनाने के लिए फिर से संपादित करना चाह सकते हैं। (यह कई उपयोगकर्ताओं के लिए एक उचित समाधान नहीं होगा, हालांकि, और अक्सर उबंटू का कोई रिलीज़ संस्करण नहीं होता है, जिनके रिपॉजिटरी का नवीनतम संस्करण है cmake।)
एलियाह कगन

160

सबसे आम स्थिति तब होती है जब आप cmake के नवीनतम संस्करण को स्थापित करना चाहते हैं , लेकिन आपके ऑपरेटिंग सिस्टम के रिपॉजिटरी अपडेट नहीं होते हैं। उदाहरण के लिए, मेरे मामले में मेरे पास उबंटू 16.04 पर चलने वाला एक लैपटॉप है , और जब मैंने कमांड sudo apt install cmakeको निष्पादित किया तो स्थापित संस्करण 3.5.1 था ; के बजाय 3.15.4 में वर्तमान संस्करण है जो cmake.org

मैं नवीनतम संस्करण कैसे प्राप्त कर सकता हूं?

खैर, हम इन विधियों में से एक का पालन करके इसे स्थापित कर सकते हैं: बिल्डिंग और इंस्टॉल करना या बाइनरी फ़ाइलों का उपयोग करना

ए। भवन और स्थापना (अनुशंसित)

A-1। उपयोग करके Ubuntu के पैकेज मैनेजर और कॉन्फ़िगरेशन द्वारा प्रदान किए गए डिफ़ॉल्ट संस्करण को अनइंस्टॉल करें:

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

या:

sudo apt purge --auto-remove cmake

ए -2। पर जाएं आधिकारिक CMake वेबपेज , तो डाउनलोड करने और नवीनतम संस्करण निकालें। वांछित संस्करण प्राप्त करने के लिए निम्नलिखित कमांड में versionऔर buildचर अद्यतन करें :

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/

ए -3। निकाले गए स्रोत को चलाकर स्थापित करें:

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

ए -4। अपने नए cmakeसंस्करण का परीक्षण करें ।

$ cmake --version

के परिणाम cmake --version:

cmake version 3.15.X

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

बी बाइनरी फ़ाइलों का उपयोग करना ( cmake-guiअभ्यस्त काम करना)

बी -1। उबंटू के पैकेज मैनेजर द्वारा ए -1 के रूप में दिए गए डिफ़ॉल्ट संस्करण को अनइंस्टॉल करें ।

बी -2। पर जाएं आधिकारिक CMake वेबपेज , तो डाउनलोड और इंस्टॉल नवीनतम .shसंस्करण में opt/cmake। वांछित संस्करण प्राप्त करने के लिए निम्नलिखित कमांड में versionऔर buildचर अद्यतन करें :

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

बी 3। /usr/local/bin/cmakeइसे चलाकर स्थापित बाइनरी लिंक जोड़ें :

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

बी 4। ए -4cmake में अपने नए संस्करण का परीक्षण करें ।

ध्यान दें

में 3.15.X एक्स संस्करण है कि हम निर्माण के रूप में परिभाषित के अंतिम भाग का प्रतिनिधित्व करता है। Cmake अपडेट होने पर बिल्ड बदल सकता है। आधिकारिक वेबपेज के अनुसार नवीनतम रिलीज़ 3.15.4 है । यदि आप पिछला रिलीज़ 3.14.7 चाहते हैं तो बस संस्करण को बदलें और इस तरह पैरामीटर बनाएँ:

version=3.14
build=7

14
स्थापित करें कमांड को रूट विशेषाधिकारों की आवश्यकता है। Cmake --version कमांड केवल एक नया टर्मिनल खोलने के बाद काम करता है क्योंकि cmake / usr / लोकल / बिन / अंडर डिफ़ॉल्ट रूप से इंस्टॉल किया जाता है, न कि usr / bin /।
HD189733b

@ तोसी, मैंने लंबे समय से विभिन्न तरीकों से ऐसा करने की कोशिश की है, और केवल आपके फैसले से मुझे मदद मिली। बहुत बहुत धन्यवाद !!!)))))))
नव

मुझे खुशी है कि इस जवाब से आपको मदद मिली। हैप्पी कोडिंग और ऑल द बेस्ट।
टेओसी

2
यह UPDATE का नहीं बल्कि INSTALL cmake का समाधान है। इस कमांड को आज़माएं या इसका समाधान खोजने के लिए इसे गूगल करें:sudo apt-get remove cmake cmake-data
Teocci

1
Cmake-gui टूल बनाने के लिए नोट करें, बूटस्ट्रैप कमांड में --qt-gui जोड़ें।
रिचर्ड व्हाइटहेड

41

पहले स्थापित किसी भी cmake पैकेज की स्थापना रद्द करें । फिर:

  1. Http://www.cmake.org/download/ पर जाएं और नवीनतम .sh इंस्टॉलर डाउनलोड करें

  2. इसे opt/cmakeचलाकर (उदाहरण के लिए) स्थापित करें

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. अपने मार्ग में cmake बिन निर्देशिका जोड़ें : https://askubuntu.com/a/170240/359343

इस तरह से स्थापित, cmake-guiथोड़ा भयानक लगता है, अगर आपको इसे ठीक करने का तरीका मिल जाए तो कृपया इस उत्तर को संपादित करने के लिए स्वतंत्र महसूस करें।


7
स्थापित बाइनरी में / usr / स्थानीय / बिन / सेमी से एक लिंक जोड़ें। इस तरह से PATH को बदलने की कोई आवश्यकता नहीं है। sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
क्रिश्चियन

2
यह सबसे अच्छा जवाब है।
SuB

3
वास्तव में, प्रारंभिक प्रश्न के लिए यह सबसे उपयोगी उत्तर है
amigo421

यह मुझे टूटे हुए cmake-gui देता है, जो xRDP (मौजूदा संस्करण में काम किया गया) पर काम नहीं करता है, और xRDP सर्वर तक पहुंचने का एकमात्र तरीका है।
stiv

@stiv 1. क्या आपने cmakeस्थापना के काम करने के बाद सत्यापित किया है, और cmakeआपके मार्ग में कोई दूसरा संस्करण नहीं है? 2. क्या आप सत्यापित कर सकते हैं कि आप इंस्टालेशन में दिए गए cmake-gui का उपयोग कर रहे हैं, न कि कुछ पुराने संस्करण का? (संस्करण को जानने के --versionलिए, कमांड लाइन में संलग्न करें)
एंटोनियो

23

बस अगर किसी को एक डॉक इमेज में नवीनतम CMAKE स्थापित करने की आवश्यकता होती है (जैसे मुझे ..)। इस मामले में 3.7.2 है, लेकिन आप पहले से बताए अनुसार https://cmake.org/download/ पर यहां देख सकते हैं

#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

3
नाइस, अनडायरेक्स्ड --स्काइप-लाइसेंस ऑप्शन :)
4LegsDrivenCat

14

मुझे निम्न तरीके से प्यार है क्योंकि आप बहुत परेशानी के बिना हाल ही में संस्करण प्राप्त कर सकते हैं।

किटवेयर आधिकारिक तौर पर एक पाइप पहियों के रिलीज का समर्थन करने लगता है। तो आप बस करके नवीनतम cmake प्राप्त कर सकते हैं:

पाइप स्थापित करें - नवीनीकरण सेमीक

यहाँ इसके बारे में ब्लॉग है: https://blog.kitware.com/cmake-python-wheels/


6

किटवेयर में अब एपीटी रिपॉजिटरी है जो वर्तमान में उबंटू 16.04 और 18.04 का समर्थन करता है

निर्देश स्थापित करें:

  1. Cmake का पुराना संस्करण निकालें

    sudo apt purge --auto-remove cmake
    
  2. हस्ताक्षर करने वाली कुंजी की एक प्रति प्राप्त करें

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  3. अपने स्रोत सूची में भंडार जोड़ें

    ए। उबुनियन बायोनिक बीवर के लिए (18.04)

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

    ख। उबंटू ज़ेनियल ज़ेरुस के लिए (16.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. अद्यतन और स्थापित करें

    sudo apt update
    sudo apt install cmake
    

4

आप निम्नलिखित पर भी अमल कर सकते हैं:

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 -)

यह लिपि

  • भ्रूण 3.0.2 ** बनाते हैं यदि यह पहले ही इस सत्र में डाउनलोड हो गया था, तो आप इसे फिर से उपयोग कर सकते हैं यदि आपने स्थापना को पूरा नहीं किया है
  • तब यह प्रतियाँ बिन का लिंक बनाती हैंcmake

3

एक डॉकटर कंटेनर के लिए, सबसे अच्छा रन

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

यदि आवश्यक हो, तो संस्करण को समायोजित करें।


2

पुराने संस्करण का उपयोग करके निकालें:

apt-get purge cmake

डाउनलोड cmakeएक टारबॉल में संग्रहित बाइनरी संस्करण । आप cmakeइसकी binनिर्देशिका पथ को जोड़कर नए संस्करण का उपयोग कर सकते हैं $PATH। एक वैकल्पिक समाधान tar.gzपैकेज को निकालने और निम्नलिखित आदेशों को निकालने और चलाने के बाद बनाई गई निर्देशिका में जाना है:

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

दूसरी विधि स्थापना प्रक्रिया के समान है जो .debपैकेज करता है!


1

बैकपैक से नवीनतम संस्करण स्थापित करें, जहां कई नवीनतम संस्करण निवास करते हैं। विशेष बैकपोर्ट आपके वर्तमान ओएस संस्करण पर निर्भर करता है। उदाहरण के लिए, डेबियन स्ट्रेच को चलाने के लिए, निम्नलिखित को /etc/apt/source.list पर जोड़ें

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

फिर इस बैकपोर्ट से स्थापित करें, उर्फ़:

sudo apt-get -t stretch-backports install -y cmake

0

आप स्नैप के माध्यम से cmake के बहुत हालिया संस्करण पा सकते हैं। उदाहरण के लिए, इस उत्तर को लिखने के रूप में, cmake का नवीनतम संस्करण 3.15.3 है, और स्नैप का संस्करण 3.15.2 है।

sudo apt-get purge cmake
sudo snap install cmake --classic

0

स्नैप का उपयोग करने के लिए qwr का उत्तर अच्छा हो सकता है, लेकिन यदि आप कुछ नया भी चाहते हैं, तो cmake स्रोत से DEB बनाना आसान बनाता है। निम्नलिखित मानते हैं कि आपके पास हाल ही में स्थापित किया गया एक सेमी है। उबंटू 18.04 का उपयुक्त इंस्टॉल सीमेक यहां निश्चित रूप से काम करेगा।

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.