2012-02-14 13 views
18

Io corro Kubuntu 11.10 (w/KDE 4.8)Rimozione di tutte le librerie OpenCV installati

Prima di leggere tutto questo:

voglio solo eliminare ogni traccia di OpenCV dal mio sistema, in modo che posso ripartire ..

L'intera storia

ho installato python-OpenCV e libopencv (2,1 credo) da https://launchpad.net/~gijzelaar/+archive/opencv2 molto tempo fa. Ho solo provato python-opencv in quel momento, che ha funzionato perfettamente (non ho tentato di usare il codice C++ usando OpenCV)

Poi ho provato di recente a installare OpenCV 2.3.1 dal sorgente, che è stato installato ma durante la compilazione del mio Codice C++ (usando OpenCV), mi ha dato errori su libgtk non installato e ha anche rotto il mio codice python opencv che funzionava bene prima

Così ho installato le librerie libgtk2-dev e ho compilato e installato nuovamente OpenCV 2.3.1 ..

Si è verificato ancora l'errore, quindi ho eliminato la directory OpenCV non indirizzata da cui stavo eseguendo cmake, make, ecc. Non ho fatto disinstallare (che ora mi rendo conto è stato il mio errore)

e invece installato il pacchetto ubuntu OpenCV 2.3 (con tutte le dipendenze) da qui: https://launchpad.net/~gijzelaar/+archive/opencv2.3

Ora il problema è che ancora ottenere lo stesso errore quando compilo il mio codice C++ che include OpenCV, e l'errore punta ancora al mio (soppresso) cartella di origine 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 

Come si può vedere l'errore punta ancora alla directory da dove avevo compilato ed installato OpenCV

C'è un modo per rimuovere completamente tutte le tracce della mia versione compilata di OpenCV e semplicemente mantenere i file dal pacchetto ubuntu? Come ho detto prima non ho 'make uninstall' e hanno anche (stupidamente) soppresso il

EDIT install-manifest: ho eseguito di nuovo il gestore dei pacchetti, e ha scoperto che non tutti i pacchetti OpenCV dalle ppa avevano ottenuto installato correttamente. Così ho fatto un sudo apt-get install nuovo OpenCV, ed ora ottengo questo errore:

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) 

voglio solo eliminare ogni traccia di OpenCV dal mio sistema, in modo da poter ripartire

risposta

34

Per impostazione predefinita , quando si costruisce OpenCV dal sorgente, verrà inserito in output in /usr/local/lib e /usr/local/bin. Sebbene, a giudicare dai tuoi messaggi di errore, sembra che abbia collocato le librerie in /usr/lib e i binari in /usr/bin, quindi potresti anche effettuare il check-in.

È inoltre possibile utilizzare il comando Linux find. Così, per trovare tutte le librerie OpenCV si possono fare le seguenti (questo potrebbe richiedere del tempo):

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

Il comando precedente trovare qualsiasi file contenente OpenCV nel nome, e vi verrà chiesto di rimuoverlo. Come sempre, fai attenzione quando elimini le cose manualmente!

Un'altra opzione potrebbe essere quella di compilare manualmente OpenCV nuovo (esattamente come avete fatto prima), make install per creare l'installazione manifesta, e quindi provare make uninstall per vedere se sarà ripulire se stessa.

Spero che questo aiuti! :)

+1

Grazie! Proprio quello che stavo cercando. Ho disinstallato i pacchetti, quindi ho eseguito sudo find/-name "* opencv *" -exec rm -i {} \; quindi reinstallato i pacchetti. Risolto il mio ultimo errore eseguendo sudo dpkg -i --force-overwrite path-to-package. OpenCV sembra funzionare ora, anche se devo ancora provarlo a fondo. Python-OpenCV funziona come prima. – flak37

+0

Felice di poterti aiutare! – mevatron

+0

Un altro suggerimento correlato sarebbe quello di installare OpenCV in una macchina virtuale la prossima volta che è necessario utilizzarlo; in questo modo quando è il momento di disinstallare tutto ciò che devi fare è distruggere la VM e * poof *, hai finito. – the911s

4

si può fare un sudo make uninstall per una disinstallazione pulita

+0

Nel mio caso, e forse il flak37, c'è stato un errore nell'usare make per disinstallare 'opencv'. – ryanjdillon

+0

non funziona ......... – stack5

2

Al fine di rimuovere tutti i file e cartelle senza "interazione", utilizzare il seguente comando:

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

ATTENZIONE: Non è consigliabile eseguire la cancellazione "ricorsiva" e "forzata".

+1

nel caso che qualcun altro veda questa risposta (upvoted?) E stia pensando di eseguirlo - per favore non farlo. Invece fai qualcosa di simile (nota: controllando in alto/in basso, ci sono entrambi): 'sudo find/\ (-name" * opencv * "-o -name" * OpenCV * "\) -print 2>/dev/null>/tmp/out.txt' e controlla manualmente '/ tmp/out.txt' per le cose che vuoi rimuovere. Eseguendo il comando sopra sarebbe un po 'pazzo. Un'altra cosa da provare (ma non esaustiva) è 'locate -i opencv'. Noterai subito che ci sono cose che non vuoi rimuovere_. – michael

0

Se OpenCV è installato utilizzando sudo make install comando su fonte poi andare nella cartella di costruzione e utilizzare sudo make uninstall e dovrebbe disinstallare OpenCV

Problemi correlati