Подтвердить что ты не робот

Удаление всех установленных файлов OpenCV

Я запускаю Kubuntu 11.10 (w/KDE 4.8)

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

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

Вся история

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

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

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

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

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

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

4b9b3361

Ответ 1

По умолчанию при создании 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, чтобы убедиться, что он сам очистит.

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

Ответ 2

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

Ответ 3

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

 $ sudo make uninstall

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

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

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

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

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

Ответ 4

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

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

ПРЕДОСТЕРЕЖЕНИЕ: Не рекомендуется запускать "рекурсивное" и "принудительное" удаление.

Ответ 5

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