TL; DR: Execute sudo make uninstall
no diretório em que você executou sudo make install
antes.
Você seguiu este método de instalar uma versão diferente do CMake. Isso quer dizer que você desinstalou a versão fornecida pelo gerenciador de pacotes do Ubuntu e baixou, compilou e instalou manualmente a partir do código-fonte.
Assumindo que você foi capaz de seguir essas instruções com sucesso, a versão do CMake fornecida pelo gerenciador de pacotes do Ubuntu (através do pacote cmake
) já está desinstalada . Porque a versão que você instalou agora é não fornecida pelo gerenciador de pacotes do Ubuntu, mas em vez disso a versão que você compilou e instalou, executando sudo apt-get purge cmake
novamente não a remove.
Como você instalou cmake
compilando-o e executando sudo make install
, a solução é:
- Use
cd
para voltar ao diretório em que você executou esse comando. - Executar
sudo make uninstall
.
Nem todo software que pode ser instalado executando make install
tem uma meta uninstall
correspondente, permitindo que você execute make uninstall
para removê-lo. Mas o CMake suporta isso. 1
Se você excluiu a pasta na qual você executou sudo make install
ou a alterou de alguma outra forma, a melhor opção é recriar e reinstalar (use a mesma versão) para Recupere a capacidade de executar sudo make uninstall
. Ou seja, você seguiria as mesmas etapas de instalação, iniciando no mesmo arquivo .tar.gz
e passando todas as mesmas opções usadas (se houver) para ./bootstrap
. Se você acabou de executar ./bootstrap
sem argumentos depois, faça isso novamente. Depois de executar sudo make install
novamente, o que (sem causar danos) sobrescreveria os arquivos que já estavam instalados com cópias de si mesmos, você poderá usar sudo make uninstall
.
Outra abordagem possível, que eu não aconselho a fazer, seria tentar descobrir exatamente quais arquivos e diretórios foram criados na instalação e tentar remover apenas esses arquivos e diretórios, mas nenhum outro. Se você não passou o --prefix
para ./bootstrap
quando compilou o CMake, ele instalou os arquivos em /usr/local
, mas não é o único programa que usa esse diretório. Ele teria instalado arquivos nos vários subdiretórios de /usr/local
, como bin
e lib
(e outros), portanto, além da situação em que você sabe que nada mais foi instalado em /usr/local
, essa opção requer muito de trabalho.
1 É fácil ficar confuso sobre se você pode ou não desinstalar o CMake executando sudo make uninstall
porque, por padrão , quando você usa o CMake para criar scripts de construção para seu próprio software , nenhum uninstall
target é gerado a menos que você peça explicitamente um . No entanto, CMake em si é projetado para ser facilmente desinstalado , e seu código-fonte faz definir esses destinos de desinstalação para si mesmo. No Makefile
gerado da execução de ./bootstrap
, você pode ver:
#=============================================================================
# Target rules for targets named uninstall
# Build rule for target.
uninstall: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 uninstall
.PHONY : uninstall
# fast build rule for target.
uninstall/fast:
$(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build
.PHONY : uninstall/fast
Você também pode pesquisar por desinstalar o suporte em seu arquivo CMakeLists.txt .
Para ter certeza, eu testei isso com o CMake 3.9.0, e ele funciona . A meta uninstall
é gerada e a execução de sudo make uninstall
funciona para desinstalar o CMake.