Удаление всех установленных файлов 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 из моей системы, поэтому я могу начать заново
Ответы
Ответ 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