como é que removo o CMake depois de o instalar no código?

TL;DR: executar sudo make uninstall no directório onde correu sudo make install antes.

seguiu este método de instalação de uma versão diferente do CMake. Isto 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 foi capaz de seguir essas instruções com sucesso, a versão do CMake fornecida pelo gestor de pacotes do Ubuntu (via o 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 a si mesmo, executando sudo apt-get purge cmake novamente não a remove.Uma vez que instalou cmake compilando-o e executando depois sudo make install, a solução é::

  1. Use cd para voltar à pasta onde executou esse comando.
  2. Run sudo make uninstall.

nem todo o software que pode ser instalado executando make install tem um alvo correspondente uninstall deixando-o executar make uninstall para removê-lo. Mas o CMake apoia isto.1

se você apagou a pasta na qual você executou sudo make install, ou de outra forma mudou-a, Então sua melhor aposta é reconstruir e reinstalar (certifique-se de usar exatamente a mesma versão) para obter de volta a capacidade de executar sudo make uninstall. Ou seja, você seguiria os mesmos passos de instalação, começando do mesmo arquivo .tar.gz e passando todas as mesmas opções que você usou (se houver) para ./bootstrap. Se você apenas correu ./bootstrap sem argumentos depois disso, faça isso novamente. Depois de executar sudo make install novamente, o que iria (inutilmente) sobrepor os arquivos que já estavam instalados com cópias de si mesmos, você então seria capaz de usar sudo make uninstall.

outra abordagem possível, que eu fortemente desencorajá-lo de 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 não Outros. Se você não passou o --prefix para ./bootstrap quando compilou o CMake, então ele instalou arquivos em /usr/local, mas não é o único programa que usa esse diretório. Teria instalado arquivos nos vários subdiretórios de /usr/local, tais como bin e lib (e outros), assim além da situação em que você sabe que nada mais foi instalado em /usr/local, esta opção requer muito trabalho.

1 é fácil ficar confuso sobre se pode ou não desinstalar o CMake ao executar sudo make uninstall porque, por omissão, quando usa o CMake para criar programas de compilação para o seu próprio software, o não uninstall alvo é gerado a menos que peça explicitamente um. No entanto, o próprio CMake é projetado para ser facilmente desinstalado, e seu código fonte define esses alvos desinstalados para si mesmo. No Makefile gerado a partir da execução ./bootstrap 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 procurar suporte desinstalado em seus CMakeLists.ficheiro txt.

para ter a certeza, testei isto com CMake 3, 9.0, e funciona. O alvo uninstall é gerado e executado sudo make uninstall funciona para desinstalar CMake.

Deixe uma resposta

O seu endereço de email não será publicado.