Как удалить cmake ubuntu

Обновлено: 03.07.2024

Однако он вносил некоторые ошибки при вводе make, и теперь я хочу его удалить и установить предыдущую версию cmake , Я попробовал sudo apt-get purge cmake. Но он все еще остается в системе при входе cmake --version.

3 ответа

TL; DR: Запустите sudo make uninstall в каталоге, где вы запускали sudo make install раньше.

Вы следовали этому методу установки другой версии CMake. Это означает, что вы удалили версию, предоставленную менеджером пакетов Ubuntu, и вручную загрузили, скомпилировали и установили ее самостоятельно из исходного кода.

Предполагая, что вы успешно выполнили эти инструкции, версия CMake предоставлена менеджер пакетов Ubuntu (через пакет cmake) уже удален. Поскольку версия, которую вы установили сейчас, не предоставляется диспетчером пакетов Ubuntu, но вместо нее вы скомпилировали и установили самостоятельно, запуск sudo apt-get purge cmake снова не удаляет его.

Поскольку вы установили cmake на компиляция, а затем запуск sudo make install, решение для вас:

Используйте cd, чтобы вернуться в каталог, в котором вы запустили эту команду. Запустите sudo make uninstall.

Не все программное обеспечение, которое может быть установлено при запуске make install, имеет соответствующую цель uninstall, позволяющую вам запустить make uninstall, чтобы удалить его. TL; DR: 1

Если вы удалили папку, в которой вы запустили sudo make install, или иным образом изменили ее, то лучше всего ее перестроить и переустановить (be обязательно используйте точно такую ​​же версию), чтобы вернуть возможность запуска sudo make uninstall. То есть вы будете следовать тем же самым установкам, начиная с того же файла .tar.gz и передавая все те же параметры, которые вы использовали (если они есть), на ./bootstrap. Если вы только что запустили ./bootstrap без аргументов, сделайте это снова. После повторного запуска sudo make install, который (безвредно) перезапишет файлы, которые уже были установлены с их копиями, тогда вы сможете использовать sudo make uninstall.

Еще один возможный подход, который я решительно отвергаю вы должны были попытаться выяснить, какие файлы и каталоги были созданы в процессе установки, и попытаться удалить только эти файлы и каталоги, но не другие. Если вы не передали --prefix в ./bootstrap при компиляции CMake, тогда он установил файлы в /usr/local, но это не единственная программа, которая использует этот каталог. Он установил файлы в разных подкаталогах /usr/local, таких как bin и lib (и другие), поэтому в стороне от ситуации, когда вы знаете, что в /usr/local ничего не было установлено, этот параметр требует многого

1 Легко запутаться в том, удалите ли вы CMake, не запуская sudo make uninstall, потому что уже удалил , этот метод . Однако, Если вы удалили папку , и ее исходный код определит эти цели удаления для себя. В Makefile, сгенерированном при запуске ./bootstrap, вы можете увидеть:

Вы также можете найти файл в файле CMakeLists.txt.

Конечно, я тестировал это с помощью CMake 3.9.0, и он работает. Создается цель uninstall и запускается sudo make uninstall, чтобы удалить CMake.

Огромное спасибо. Требуется довольно много времени для установки. Поэтому я хотел бы спросить, хочу ли я теперь использовать более новую версию cmake (например, версию, предоставленную менеджером пакетов Ubuntu, а не тот, который был установлен вручную), что мне делать? – Surabhi Verma 3 August 2017 в 21:04 @SurabhiVerma Я рад, что это сработало! Что касается обновления: это зависит: что пошло не так с CMake, который вы установили? Какие ошибки произошли? Какую версию вы установили? Почему версия в Ubuntu недостаточна? Вы просто хотите попробовать новую версию? (Конечно, все в порядке, но если есть более конкретная причина, это может быть актуально.) Вы пытаетесь создать что-то, что нуждается в более новой версии CMake? Если да, то? Вы должны задать отдельный вопрос для этого, но если вы немного объясните ситуацию, возможно, я могу предложить другие вещи, чтобы включить в нее, что облегчит ответ. – Eliah Kagan 3 August 2017 в 21:17 Мне нужна новая версия для новых функций cmake (для pybind11), для которых мне нужна версия 3 или выше. Поэтому я удалил cmake (V 2.8.2) и установил новую версию по описанной выше процедуре. Но затем при запуске make я получил следующую ошибку .. make: / usr / bin / cmake: команда не найдена .. Поэтому я удалил эту папку, где я установил новую версию, и запустил sudo apt-get install cmake, чтобы установить старую еще раз, а затем она выбросила эту ошибку: Ошибка CMake: ошибка выполнения cmake :: LoadCache (). Прерывание .. Поэтому я подумал, что, возможно, я не установил правильно. Так что я снова удалил его. – Surabhi Verma 3 August 2017 в 21:27 Я установил cmake через этот и теперь делаю работу .. Спасибо за помощь :) – Surabhi Verma 4 August 2017 в 13:16

TL; DR: Запустите sudo make uninstall в каталоге, где вы запускали sudo make install раньше.

Вы следовали этому методу установки другой версии CMake. Это означает, что вы удалили версию, предоставленную менеджером пакетов Ubuntu, и вручную загрузили, скомпилировали и установили ее самостоятельно из исходного кода.

Предполагая, что вы успешно выполнили эти инструкции, версия CMake предоставлена менеджер пакетов Ubuntu (через пакет cmake) уже удален. Поскольку версия, которую вы установили сейчас, не предоставляется диспетчером пакетов Ubuntu, но вместо нее вы скомпилировали и установили самостоятельно, запуск sudo apt-get purge cmake снова не удаляет его.

Поскольку вы установили cmake на компиляция, а затем запуск sudo make install, решение для вас:

Используйте cd, чтобы вернуться в каталог, в котором вы запустили эту команду. Запустите sudo make uninstall.

Не все программное обеспечение, которое может быть установлено при запуске make install, имеет соответствующую цель uninstall, позволяющую вам запустить make uninstall, чтобы удалить его. TL; DR: 1

Если вы удалили папку, в которой вы запустили sudo make install, или иным образом изменили ее, то лучше всего ее перестроить и переустановить (be обязательно используйте точно такую ​​же версию), чтобы вернуть возможность запуска sudo make uninstall. То есть вы будете следовать тем же самым установкам, начиная с того же файла .tar.gz и передавая все те же параметры, которые вы использовали (если они есть), на ./bootstrap. Если вы только что запустили ./bootstrap без аргументов, сделайте это снова. После повторного запуска sudo make install, который (безвредно) перезапишет файлы, которые уже были установлены с их копиями, тогда вы сможете использовать sudo make uninstall.

Еще один возможный подход, который я решительно отвергаю вы должны были попытаться выяснить, какие файлы и каталоги были созданы в процессе установки, и попытаться удалить только эти файлы и каталоги, но не другие. Если вы не передали --prefix в ./bootstrap при компиляции CMake, тогда он установил файлы в /usr/local, но это не единственная программа, которая использует этот каталог. Он установил файлы в разных подкаталогах /usr/local, таких как bin и lib (и другие), поэтому в стороне от ситуации, когда вы знаете, что в /usr/local ничего не было установлено, этот параметр требует многого

1 Легко запутаться в том, удалите ли вы CMake, не запуская sudo make uninstall, потому что уже удалил , этот метод . Однако, Если вы удалили папку , и ее исходный код определит эти цели удаления для себя. В Makefile, сгенерированном при запуске ./bootstrap, вы можете увидеть:

Вы также можете найти файл в файле CMakeLists.txt.

Конечно, я тестировал это с помощью CMake 3.9.0, и он работает. Создается цель uninstall и запускается sudo make uninstall, чтобы удалить CMake.

TL; DR: Запустите sudo make uninstall в каталоге, где вы запускали sudo make install раньше.

Вы следовали этому методу установки другой версии CMake. Это означает, что вы удалили версию, предоставленную менеджером пакетов Ubuntu, и вручную загрузили, скомпилировали и установили ее самостоятельно из исходного кода.

Предполагая, что вы успешно выполнили эти инструкции, версия CMake предоставлена менеджер пакетов Ubuntu (через пакет cmake) уже удален. Поскольку версия, которую вы установили сейчас, не предоставляется диспетчером пакетов Ubuntu, но вместо нее вы скомпилировали и установили самостоятельно, запуск sudo apt-get purge cmake снова не удаляет его.

Поскольку вы установили cmake на компиляция, а затем запуск sudo make install, решение для вас:

Используйте cd, чтобы вернуться в каталог, в котором вы запустили эту команду. Запустите sudo make uninstall.

Не все программное обеспечение, которое может быть установлено при запуске make install, имеет соответствующую цель uninstall, позволяющую вам запустить make uninstall, чтобы удалить его. TL; DR: 1

Если вы удалили папку, в которой вы запустили sudo make install, или иным образом изменили ее, то лучше всего ее перестроить и переустановить (be обязательно используйте точно такую ​​же версию), чтобы вернуть возможность запуска sudo make uninstall. То есть вы будете следовать тем же самым установкам, начиная с того же файла .tar.gz и передавая все те же параметры, которые вы использовали (если они есть), на ./bootstrap. Если вы только что запустили ./bootstrap без аргументов, сделайте это снова. После повторного запуска sudo make install, который (безвредно) перезапишет файлы, которые уже были установлены с их копиями, тогда вы сможете использовать sudo make uninstall.

Еще один возможный подход, который я решительно отвергаю вы должны были попытаться выяснить, какие файлы и каталоги были созданы в процессе установки, и попытаться удалить только эти файлы и каталоги, но не другие. Если вы не передали --prefix в ./bootstrap при компиляции CMake, тогда он установил файлы в /usr/local, но это не единственная программа, которая использует этот каталог. Он установил файлы в разных подкаталогах /usr/local, таких как bin и lib (и другие), поэтому в стороне от ситуации, когда вы знаете, что в /usr/local ничего не было установлено, этот параметр требует многого

1 Легко запутаться в том, удалите ли вы CMake, не запуская sudo make uninstall, потому что уже удалил , этот метод . Однако, Если вы удалили папку , и ее исходный код определит эти цели удаления для себя. В Makefile, сгенерированном при запуске ./bootstrap, вы можете увидеть:

Вы также можете найти файл в файле CMakeLists.txt.

Конечно, я тестировал это с помощью CMake 3.9.0, и он работает. Создается цель uninstall и запускается sudo make uninstall, чтобы удалить CMake.

CMake — это набор инструментов, который позволяет создавать, тестировать и упаковывать программное обеспечение. Это семейство инструментов доступно сразу на нескольких платформах и распространяется под открытым исходным кодом. Чаще всего CMake применяют для упрощения процесса компиляции созданного ПО путём использования простых кроссплатформенных файлов конфигурации.Также с помощью CMake создаются специальные файлы makefile — наборы инструкций, которые позволяют использовать возможности компилятора в дальнейшем при автоматизации сборки.

Автором CMake является команда Kitware. Создание этого ПО было продиктовано необходимостью формирования мощной среды, которая могла бы работать сразу на нескольких платформах с проектами, где открыт исходный код (прежде всего — с Insight Segmentation and Registration Toolkit и Visualization Toolkit). В этом материале вы узнаете, как установить CMake Ubuntu, используя графический интерфейс либо командную строку. Если вы пытаетесь собрать программу и получаете ошибку cmake not found, то эта статья будет для вас очень полезной.

Установка CMake в Ubuntu

1. Менеджер приложений

На момент написания этой статьи использовалась самая последняя версия CMake (3.15.2). Она была доступна в рамках известного всем магазина Snap Store. Ниже вы узнаете, как установить CMake через штатный в Менеджер приложений в Ubuntu.

Если вы не хотите тратить много времени на взаимодействие с командной строкой, то работа с графическим интерфейсом должна вам понравиться из-за своей простоты. На панели инструментов, расположенной слева, щёлкните значок Менеджер приложений.


В верхней части открывшегося окна нажмите на значок поиска и в появившейся строке введите CMake. Результаты отобразятся следующим образом:


Первый пакет в результатах поиска — это и есть нужный нам файл, доступный в рамках магазина Snap Store. Щёлкните по этой записи и вы попадёте в раздел с подробной информацией о приложении, который будет выглядеть так:



Введите свой пароль и нажмите кнопку Enter. После этого вы сможете наблюдать за статусом установки на отображающемся графическом индикаторе.



Из этого окна уже можно запустить CMake (или тут же, например, удалить).

2. Менеджер пакетов snap и apt

Такую же версию CMake можно установить через командную строку, если воспользоваться следующей командой:

sudo snap install cmake

Установка cmake ubuntu 18.04 из официальных репозиториев выполняется командой:

sudo apt install cmake

3. Сборка CMake из исходников

Откройте командную строку — для этого либо найдите приложение «Терминал», либо нажмите сочетание клавиш Ctrl+Alt+T. Введите команду, которая начнёт загрузку исходного кода:

Когда tar.gz полностью скачается, его нужно распаковать. Воспользуемся следующей командой:

tar -zxvf cmake-3.15.2.tar.gz

Перейдём с помощью терминала к папке с распакованными файлами:

Чтобы провести компиляцию скачанного кода, выполним ещё одну команду:

После правильного выполнения всех операций, командная строка выдаст следующий результат:

Теперь можно запустить процесс установки с помощью простой команды:


Затем выполните ещё одну команду:

sudo make install


Процесс установки завершён. Теперь можно проверить версию CMake, чтобы убедиться в правильности своих действий.


На момент написания этого материала CMake был доступен в версии 1.15.2, с которой мы и работали. Теперь вы можете использовать этот инструмент для выполнения своих рабочих задач.

Как удалить CMake?

Если вы решили удалить CMake, который был установлен через Менеджер приложений, то этот процесс будет происходить следующим образом. Снова откройте Менеджер приложений, в открывшемся списке найдите пункт CMake (рядом с ним будет надпись Установлен). Нажмите на иконку приложения, перейдите к следующему экрану и найдите кнопку Удалить. Так будет запущен процесс деинсталляции.


После этого система вновь предложит ввести вам пароль — и сразу же после этого приложение будет удалено.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

I wanted to update my cmake version. So I had first uninstalled it and then tried to install as given in this post by teocci.

However, it was giving some errors on entering make and now I want to uninstall it and install the previous version of cmake. I tried sudo apt-get purge cmake . But it still remains in the system on entering cmake --version .

What should I do?

110k 51 51 gold badges 301 301 silver badges 464 464 bronze badges 123 1 1 gold badge 1 1 silver badge 9 9 bronze badges Can you post the log message you get from running the sudo apt-get purge cmake command. what version of Ubuntu you are using and what is the version of cmake reported by cmake --version ?, and also what is the output of the command which cmake ?

1 Answer 1

TL;DR: Run sudo make uninstall in the directory where you ran sudo make install before.

You followed this method of installing a different version of CMake. This is to say that you uninstalled the version provided by Ubuntu's package manager and manually downloaded, compiled, and installed it yourself from source code.

Assuming you were able to follow those instructions successfully, the version of CMake provided by Ubuntu's package manager (via the cmake package) is already uninstalled. Because the version that you have installed now is not provided by Ubuntu's package manager, but instead the version you compiled and installed yourself, running sudo apt-get purge cmake again does not remove it.

Since you installed cmake by compiling it and then running sudo make install , the solution is for you to:

  1. Use cd to go back to the directory where you ran that command.
  2. Run sudo make uninstall .

Not all software that can be installed by running make install has a corresponding uninstall target letting you run make uninstall to remove it. But CMake does support this. 1

If you have deleted the folder in which you ran sudo make install , or otherwise changed it, then your best bet is to rebuild and reinstall it (be sure to use exactly the same version) to get back the ability to run sudo make uninstall . That is, you would follow the same installation steps, starting from the same .tar.gz file and passing all the same options you used (if any) to ./bootstrap . If you just ran ./bootstrap with no arguments after it, do that again. After running sudo make install again, which would (harmlessly) overwrite the files that were already installed with copies of themselves, you would then be able to use sudo make uninstall .

Another possible approach, which I strongly discourage you from doing, would be to try to figure out exactly what files and directories were created in the installation, and to try to remove just those files and directories but no others. If you did not pass the --prefix to ./bootstrap when you compiled CMake then it installed files in /usr/local , but it is not the only program that uses that directory. It would have installed files in the various subdirectories of /usr/local , such as bin and lib (and others), so aside from the situation where you know nothing else was installed into /usr/local , this option requires a lot of work.

1 It's easy to become confused about whether or not you can uninstall CMake by running sudo make uninstall because, by default, when you use CMake to create build scripts for your own software, no uninstall target is generated unless you explicitly ask for one. However, CMake itself is designed to be easily uninstalled, and its source code does define those uninstall targets for itself. In the Makefile generated from running ./bootstrap you can see:

You can also search for uninstall support in its CMakeLists.txt file.

To be sure, I tested this with CMake 3.9.0, and it does work. The uninstall target is generated and running sudo make uninstall works to uninstall CMake.

I used source code to build one package such as below:

But unfortunately, i discovered that its the latest version, and has lot of bugs, so i need to remove it/uninstall it. But how can i do so? I tried make clean; make uninstall but still i see it exist:

How do you remove this now?

67.6k 123 123 gold badges 453 453 silver badges 649 649 bronze badges

10 Answers 10

Usually you can just use:

if the app was installed as root.

But this will work only if the developer of the package has taken care of making a good uninstall rule.

You can also try to get a look at the steps used to install the software by running:

And then try to reverse those steps manually.

In the future to avoid that kind of problems try to use checkinstall instead of make install whenever possible (AFAIK always unless you want to keep both the compiled and a packaged version at the same time). It will create and install a deb file that you can then uninstall using your favorite package manager.

make clean usually cleans the building directories, it doesn't uninstall the package. It's used when you want to be sure that the whole thing is compiled, not just the changed files.

33.8k 9 9 gold badges 85 85 silver badges 108 108 bronze badges +1 for using checkinstall - it makes this whole problem evaporate. If you have already run make install , you can still use checkinstall . Normally checkinstall will overwrite everything that make install created. After that just use dpkg -r <package.deb> , and everything should be removed.

I do not think this is a bug, it would be a good idea to read about and learn to use checkinstall when installing from source.

you can install checkinstall from the repositories, a short description of the package;

CheckInstall keeps track of all the files created or modified by your installation script ("make install" "make install_modules", "setup", etc), builds a standard binary package and installs it in your system giving you the ability to uninstall it with your distribution's standard package management utilities.


35.8k 5 5 gold badges 34 34 silver badges 40 40 bronze badges

This is not a bug - compiling from source is an unsupported method of installing software that bypasses the package management system (which is used by the Software Centre) completely.

There is no standard way that software compiled from source is installed or uninstalled so no way Ubuntu can know what to do. The software is not even listed as an installed program.

You should follow the distributor's instructions for installation and removal of such custom software. You could also contact the developer to ask for them to create a Debian package so that the package management system can be used.

35.3k 13 13 gold badges 97 97 silver badges 150 150 bronze badges

Make

Make is a program that’s used to compile and install programs from source code. It’s not a package manager so it doesn’t keep track of the files it installs. This makes it difficult to uninstall the files afterwards.

The make install command copies the built program and packages into the library directory and specified locations from the makefile. These locations can vary based on the examination that’s performed by the configure script.

CheckInstall

CheckInstall is a program that’s used to install or uninstall programs that are compiled from the source code. It monitors and copies the files that are installed using the make program. It also installs the files using the package manager which allows it to be uninstalled like any regular package.

The checkinstall command is calls the make install command. It monitors the files that are installed and creates a binary package from them. It also installs the binary package with the Linux package manager.

Replace source_location.deb and name in the screenshot with your own information:

Screenshot

Execute the following commands in the source package directory:

Run the Configure script

Run the Make command

Reinstall the package

Remove the package

Here's an article I wrote that goes through the entire process with explanations.


It is not a bug, it is what happens when developers resort to distribution via source and not via the native packaging methods.

You can get your source files to become debian packages by using checkinstall or dhbuild. Honestly, in my opinion - new users should avoid installing from source, and developers should avoid distributing by source only.


51.1k 29 29 gold badges 156 156 silver badges 244 244 bronze badges I know but sometimes it is unavoidable. In this case it was just a small game which is not really necessary but sometime back I had to install MATLAB a computational tool used in my university and had to install it by the source since they did not have a deb file for ubuntu. But I will definitely go through the methods checkinstall and dhbuild. thanks

We need to negotiate the fact that make uninstall would not always work, so below is more of a proactive solution.

This involves the use of the paco program which is available in the Ubuntu Software Center. Once we have installed paco, we can use it the log mode when we "make install" a program. Paco acts like a wrapper for your "make install" and creates a log in the /var/log/paco directory with the list of files copied to various directories. Moreover, you could see the the files in the Paco Front end.

For example when I compiled php from source I did the following :

The parameter l makes the paco run in the log mode.This created a log file in /var/log/paco named php5 (the name I have given in the command). It contained all the files which are copied to various standard locations during the install. You could use a command line editor or paco gui to view the files.

Below is the example of getting the file list using sed command line editor
(Replace php5 with your filename).

Once you got the list of the files, you know how to delete them don't you? Indeed, you could pass the results of the above command to rm using backticks like shown below:

Note : Due to LD_PRELOAD limitations, paco can't follow the trace of suid programs. See man page.

Читайте также: