web-dev-qa-db-fra.com

Suppression de toutes les bibliothèques OpenCV installées

Je suis sous Kubuntu 11.10 (avec KDE 4.8)

Avant de lire tout cela: 

Je veux juste supprimer toutes les traces d'OpenCV de mon système afin de pouvoir tout recommencer.

Toute l'histoire

J'ai d'abord installé python-opencv et libopencv (2.1 je pense) à partir de https://launchpad.net/~gijzelaar/+archive/opencv2 il y a longtemps. J'ai seulement essayé python-opencv à ce moment-là, cela fonctionnait parfaitement (je n'ai pas essayé d'utiliser du code C++ avec OpenCV)

Ensuite, j’ai récemment essayé d’installer OpenCV 2.3.1 à partir du code source, qui s’est installé mais lors de la compilation de mon propre code C++ (avec OpenCV), il m’a renvoyé des erreurs sur libgtk non installé et a également cassé mon code pencon ouvert qui fonctionnait bien auparavant.

J'ai donc installé les bibliothèques libgtk2-dev, puis compilé et installé OpenCV 2.3.1 à nouveau. 

L’erreur se produisant toujours, j’ai donc supprimé le répertoire OpenCV sans bande à partir duquel j’exécutais cmake, make, etc. Je n'ai pas fait de désinstallation (que je réalise maintenant était mon erreur)

et à la place installé le paquet ubuntu opencv 2.3 (avec toutes les dépendances) à partir d’ici: https://launchpad.net/~gijzelaar/+archive/opencv2.3

Maintenant, le problème est que je reçois toujours la même erreur lorsque je compile mon code C++ qui inclut OpenCV, et l'erreur pointe quand même sur mon dossier source OpenCV (supprimé):

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

Comme vous pouvez le constater, l'erreur pointe toujours vers le répertoire où j'ai compilé et installé OpenCV.

Existe-t-il un moyen de supprimer complètement toutes les traces de ma version compilée d'OpenCV et de ne conserver que les fichiers du paquet ubuntu? Comme je l'ai mentionné plus tôt, je n'ai pas fait de désinstallation et j'ai également (bêtement) supprimé le manifeste d'installation. 

EDIT: J'ai relancé le gestionnaire de paquets et constaté que tous les paquets opencv du ppa ne s'étaient pas installés correctement. J'ai donc refait une opération Sudo apt-get install, et maintenant je reçois cette erreur:

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)

Je veux juste supprimer toutes les traces d'OpenCV de mon système pour pouvoir recommencer

22
flak37

Par défaut, lors de la création d'OpenCV à partir du source, il placera sa sortie dans /usr/local/lib et /usr/local/bin. Toutefois, à en juger par vos messages d'erreur, il semble que les bibliothèques ont été placées dans /usr/lib et les fichiers binaires dans /usr/bin, de sorte que vous pouvez également vous y enregistrer.

Vous pouvez également utiliser la commande Linux find . Ainsi, pour trouver toutes les bibliothèques OpenCV, procédez comme suit (cela peut prendre un certain temps):

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

La commande ci-dessus trouvera n'importe quel fichier contenant opencv dans le nom et vous invitera à le supprimer. Comme toujours, soyez prudent lorsque vous supprimez des choses manuellement!

Une autre option pourrait être de compiler à nouveau manuellement OpenCV (exactement comme auparavant), make install pour créer le manifeste d'installation, puis d'essayer make uninstall pour voir s'il va se nettoyer.

J'espère que cela pourra aider! :)

40
mevatron

Vous pouvez faire un Sudo make uninstall pour une désinstallation propre

5
Navid

Si vous avez le répertoire de construction, il est recommandé d'exécuter:

 $ Sudo make uninstall

depuis le répertoire de construction selon la réponse de @Navid 

Mais cela laissera quelques fichiers .so * quelque part

Pour supprimer complètement tous ces fichiers, faites:

$ Sudo rm /usr/local/{bin, lib}/*opencv* 

/usr/local correspond normalement à CMAKE_INSTALL_PREFIX lors de l'exécution de cmake. Remplacez-le en fonction de la manière dont vous avez exécuté cmake

4
sziraqui

Afin de supprimer tous les fichiers et dossiers sans "interaction", utilisez la commande ci-dessous:

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

ATTENTION: Il n'est pas conseillé d'exécuter les suppressions "récursive" et "forcée".

2
nitish bhardwaj

Si opencv est installé à l'aide de la commande Sudo make install sur la source, accédez au dossier de construction et utilisez Sudo make uninstall. Désinstallez opencv.

1
abggcv