2012-02-14 9 views
18

estoy corriendo Kubuntu 11.10 (w/KDE 4.8)Eliminación de la lista librerías OpenCV instalados

Antes de leer todo esto:

Sólo quiero eliminar todo rastro de OpenCV de mi sistema, de modo que pueda empezar de nuevo ..

toda la historia

por primera vez instalado python-OpenCV y libopencv (2.1 creo) de https://launchpad.net/~gijzelaar/+archive/opencv2 hace mucho tiempo. Solo intenté python-opencv en ese momento, que funcionó perfectamente (no intenté usar el código C++ usando OpenCV)

Luego traté de instalar OpenCV 2.3.1 desde el código fuente, que se instaló pero al compilar el mío C++ código (utilizando OpenCV), me dio errores sobre libgtk no instalado y también rompió mi código python opencv que se ejecutaba bien antes

Así que instalé las librerías libgtk2-dev y compilé e instalé OpenCV 2.3.1 nuevamente ..

El error todavía ocurrió, así que eliminé el directorio de OpenCV no marcado desde el que ejecutaba cmake, make, etc. Yo no lo hacen desinstalación (que ahora realizo fue mi error)

y en vez instalado el paquete ubuntu OpenCV 2.3 (con todas las dependencias) desde aquí: https://launchpad.net/~gijzelaar/+archive/opencv2.3

Ahora el problema es que aún así obtener el mismo error cuando puedo compilar mi código C++ que incluye OpenCV, y el error sigue apuntando a mi (suprimido) carpeta de origen OpenCV:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/anant/opencv/OpenCV-2.3.1/modules/highgui/src/window.cpp, line 275 
terminate called after throwing an instance of 'cv::Exception' 
    what(): /home/anant/opencv/OpenCV-2.3.1/modules/highgui/src/window.cpp:275: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow 

Como se puede ver el error sigue apuntando al directorio desde donde había compilado e instalado OpenCV

¿Hay alguna manera de eliminar por completo todos los rastros de mi versión compilada de OpenCV y simplemente guardar los archivos del paquete ubuntu? Como he mencionado anteriormente no tenía 'make uninstall' y también han (tontos) eliminado el

EDITAR instalar-manifiesto: me encontré con el gestor de paquetes de nuevo, y se encontró que no todos los paquetes OpenCV desde el PPA habían conseguido instalado correctamente Así que hice un sudo apt-get install OpenCV de nuevo, y ahora me sale este error:

Unpacking libopencv2.3 (from .../libopencv2.3_2.3.1-3_amd64.deb) ... 
dpkg: error processing /var/cache/apt/archives/libopencv2.3_2.3.1-3_amd64.deb (--unpack): 
trying to overwrite '/usr/lib/libopencv_video.so.2.3.1', which is also in package libopencv-video2.3 2.3.1-4ppa1 
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) 
Unpacking opencv (from .../opencv_2.3.1-3_amd64.deb) ... 
dpkg: error processing /var/cache/apt/archives/opencv_2.3.1-3_amd64.deb (--unpack): 
trying to overwrite '/usr/bin/opencv_haartraining', which is also in package libopencv-core-dev 2.3.1-4ppa1 
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) 
Errors were encountered while processing: 
/var/cache/apt/archives/libopencv2.3_2.3.1-3_amd64.deb 
/var/cache/apt/archives/opencv_2.3.1-3_amd64.deb 
E: Sub-process /usr/bin/dpkg returned an error code (1) 

Sólo quiero eliminar todo rastro de OpenCV de mi sistema, para que pueda empezar de nuevo

Respuesta

34

Por defecto Al construir OpenCV desde el origen, colocará su salida en /usr/local/lib y /usr/local/bin. Aunque, a juzgar por sus mensajes de error, parece que colocó las bibliotecas en /usr/lib y los binarios en /usr/bin, por lo que también podría verificar allí.

También puede usar el comando Linux find. Por lo tanto, para encontrar todas las librerías OpenCV que puede hacer lo siguiente (esto puede tardar un tiempo):

$> sudo find/-name "*opencv*" -exec rm -i {} \; 

El comando anterior encontrar cualquier archivo que contiene OpenCV en el nombre, y le preguntará si desea eliminarlo. Como siempre, ¡tenga cuidado al eliminar cosas manualmente!

Otra opción podría ser la de compilar manualmente OpenCV de nuevo (exactamente como lo hacía antes), make install para crear el manifiesto de instalación, y luego tratar de make uninstall para ver si se va a limpiar a sí mismo.

Espero que ayude! :)

+1

Gracias! Justo lo que estaba buscando. Desinstalé los paquetes, luego ejecuté sudo find/-name "* opencv *" -exec rm -i {} \; luego reinstalé los paquetes. Solucionado el último error ejecutando sudo dpkg -i --force-overwrite ruta-a-paquete. OpenCV parece funcionar ahora, aunque todavía tengo que probarlo a fondo. Python-OpenCV funciona como antes. – flak37

+0

¡Me alegro de poder ayudar! – mevatron

+0

Otra sugerencia relacionada sería instalar OpenCV en una máquina virtual la próxima vez que necesite usarla; De esa forma, cuando sea el momento de desinstalar todo lo que tienes que hacer es destruir la máquina virtual y * poof *, listo. – the911s

4

se puede hacer un sudo make uninstall para una desinstalación limpia

+0

En mi caso, y quizás el de flak37, hubo un error al usar make para desinstalar 'opencv'. – ryanjdillon

+0

no funciona ......... – stack5

2

Con el fin de eliminar todos los archivos y carpetas sin "interacción", utilice el siguiente comando:

sudo find/-name "*opencv*" -exec rm -rf {} \; 

PRECAUCIÓN: No es recomendable ejecutar la eliminación "recursiva" y "forzar".

+1

en caso de que alguien más vea esta respuesta (¿vóe la vuelta?) Y está pensando en ejecutarla, no lo haga. En su lugar, haga algo así como (nota: verificando arriba/abajo, hay ambos): 'sudo find/\ (-name" * opencv * "-o -name" * OpenCV * "\) -print 2>/dev/null>/tmp/out.txt' e inspecciona manualmente '/ tmp/out.txt' para ver las cosas que deseas eliminar. Ejecutar el comando anterior sería un poco loco. Otra cosa para probar (pero no es exhaustiva) es 'locate -i opencv'. Rápidamente notarás que hay cosas que _no quieres eliminar_. – michael

0

Si OpenCV se instala mediante sudo make install comando en la fuente y luego ir a la carpeta de compilación y utilizar sudo make uninstall y debe desinstalar OpenCV

Cuestiones relacionadas