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:
- Use
cd
para volver al directorio donde ejecutó ese comando. - 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.