¿Cómo elimino CMake después de instalarlo desde el origen?

TL; DR: Ejecute sudo make uninstall en el directorio donde ejecutó sudo make install antes.

Siguió este método para instalar una versión diferente de CMake. Esto quiere decir que desinstaló la versión proporcionada por el administrador de paquetes de Ubuntu y la descargó, compiló e instaló manualmente desde el código fuente.

Suponiendo que haya podido seguir esas instrucciones con éxito, la versión de CMake proporcionada por el administrador de paquetes de Ubuntu (a través del paquete cmake) ya está desinstalada. Debido a que la versión que ha instalado ahora no es proporcionada por el administrador de paquetes de Ubuntu, sino por la versión que compiló e instaló usted mismo, ejecutar sudo apt-get purge cmake de nuevo no lo elimina.

Desde que instaló cmake compilándolo y luego ejecutando sudo make install, la solución es para usted:

  1. Use cd para volver al directorio donde ejecutó ese comando.
  2. Ejecutar sudo make uninstall.

No todo el software que se puede instalar ejecutando make install tiene un destino uninstall correspondiente que le permite ejecutar make uninstall para eliminarlo. Pero CMake apoya esto.1

Si ha eliminado la carpeta en la que ejecutó sudo make install, o la ha cambiado de otro modo, su mejor opción es reconstruirla y reinstalarla (asegúrese de usar exactamente la misma versión) para recuperar la capacidad de ejecutar sudo make uninstall. Es decir, seguiría los mismos pasos de instalación, comenzando desde el mismo archivo .tar.gz y pasando todas las mismas opciones que usó (si las hubiera) a ./bootstrap. Si acabas de ejecutar ./bootstrap sin argumentos después, hazlo de nuevo. Después de ejecutar sudo make install de nuevo, lo que sobrescribiría (de forma inofensiva) los archivos que ya estaban instalados con copias de sí mismos, podrá usar sudo make uninstall.

Otro enfoque posible, que le desaconsejo encarecidamente que haga, sería tratar de averiguar exactamente qué archivos y directorios se crearon en la instalación, y tratar de eliminar solo esos archivos y directorios, pero no otros. Si no pasó el --prefix a ./bootstrap cuando compiló CMake, entonces instaló archivos en /usr/local, pero no es el único programa que usa ese directorio. Habría instalado archivos en varios subdirectorios de /usr/local, como bin y lib (y otros), así que aparte de la situación en la que sabe que no se instaló nada más en /usr/local, esta opción requiere mucho trabajo.

1 Es fácil confundirse sobre si puede o no desinstalar CMake ejecutando sudo make uninstall porque, de forma predeterminada, cuando usa CMake para crear scripts de compilación para su propio software, no se genera ningún destino uninstall a menos que lo solicite explícitamente. Sin embargo, el propio CMake está diseñado para ser desinstalado fácilmente, y su código fuente define esos destinos de desinstalación por sí mismo. En el Makefile generado a partir de ejecutar ./bootstrap puede 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

También puede buscar soporte de desinstalación en sus listas de CMakeLists.archivo txt.

Para estar seguro, probé esto con CMake 3.9.0, y funciona. Se genera el destino uninstall y la ejecución de sudo make uninstall funciona para desinstalar CMake.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.