Удаление всех установленных библиотек OpenCV - PullRequest
23 голосов
/ 14 февраля 2012

Я использую Kubuntu 11.10 (с KDE 4.8)

Прежде чем вы прочитаете все это:

Я просто хочу удалить все следы OpenCV из моей системы, чтобы я мог запуститьafresh ..

Вся история

Я впервые установил python-opencv и libopencv (я думаю, 2.1) из https://launchpad.net/~gijzelaar/+archive/opencv2 давным-давно.В то время я пробовал только python-opencv, который работал отлично (я не пытался использовать код C ++ с использованием OpenCV)

Затем я недавно попытался установить OpenCV 2.3.1 из исходного кода, который был установлен, но во время компиляциимой собственный код C ++ (с использованием OpenCV), он дал мне ошибки о том, что libgtk не установлен, а также сломал мой код opencv на python, который раньше работал нормально

Так что я установил библиотеки libgtk2-dev и скомпилировал и установил OpenCV 2.3.1 снова ..

Ошибка все еще произошла, поэтому я удалил нетронутый каталог OpenCV, из которого я запускал cmake, make и т. Д.Я НЕ выполнял деинсталляцию (что теперь я понимаю, что была моей ошибкой)

и вместо этого установил пакет ubuntu opencv 2.3 (со всеми зависимостями) отсюда: https://launchpad.net/~gijzelaar/+archive/opencv2.3

Теперь проблема в том, что япо-прежнему появляется та же ошибка, когда я компилирую код C ++, который включает в себя OpenCV, и ошибка по-прежнему указывает на мою (удаленную) исходную папку 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

Как вы можете видеть, ошибка по-прежнему указывает на каталог изгде я скомпилировал и установил OpenCV

Есть ли способ полностью удалить все следы моей скомпилированной версии OpenCV и просто сохранить файлы из пакета ubuntu?Как я упоминал ранее, я не делал «make uninstall», а также (по глупости) удалил install-manifest

EDIT: Я снова запустил менеджер пакетов и обнаружил, что не все пакеты opencvот PPA был установлен правильно.Поэтому я снова выполнил sudo apt-get install opencv, и теперь я получаю эту ошибку:

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)

Я просто хочу удалить все следы OpenCV из моей системы, чтобы я мог начать заново

Ответы [ 5 ]

40 голосов
/ 14 февраля 2012

По умолчанию, при сборке OpenCV из исходного кода, он выводит свои выходные данные в /usr/local/lib и /usr/local/bin.Хотя, судя по вашим сообщениям об ошибках, похоже, что библиотеки помещены в /usr/lib, а двоичные файлы в /usr/bin, так что вы также можете проверить там.

Вы также можете использовать Linux команда find .Итак, чтобы найти все библиотеки OpenCV, вы можете сделать следующее (это может занять некоторое время):

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

Приведенная выше команда найдет любой файл, содержащий имя opencv, и предложит вам удалить его.Как всегда, будьте осторожны при удалении вещей вручную!

Другой вариант может состоять в том, чтобы вручную снова скомпилировать OpenCV ( точно , как вы делали раньше), make install для созданияустановочный манифест, а затем попробуйте make uninstall, чтобы посмотреть, очистится ли он сам.

Надеюсь, это поможет!:)

6 голосов
/ 14 марта 2014

Вы можете сделать sudo make uninstall для чистого удаления

5 голосов
/ 12 июня 2018

Если у вас есть каталог сборки, то рекомендуется выполнить:

 $ sudo make uninstall

из каталога сборки согласно ответу @Navid

Но это оставит мало.so * файлы где-то

Чтобы полностью удалить все такие файлы, выполните:

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

/usr/local - это то, что мы обычно устанавливаем CMAKE_INSTALL_PREFIX во время работы cmake.Замените его в соответствии с тем, как вы выполнили cmake

2 голосов
/ 29 сентября 2016

Чтобы удалить все файлы и папки без «взаимодействия», используйте следующую команду:

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

ВНИМАНИЕ: не рекомендуется запускать «рекурсивное» и «принудительное» удаление.

1 голос
/ 02 декабря 2016

Если opencv установлен с помощью команды sudo make install на источнике, перейдите в папку сборки и используйте sudo make uninstall, и он должен удалить opencv

...