2012-02-14 2 views
18

Я бегу Kubuntu 11.10 (ж/KDE 4.8)Удаление всех установленных OpenCV LIBS

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

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

вся история

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

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

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

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

и вместо этого установили пакет убунту 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? Как я уже говорил ранее, я не сделал «сделать деинсталляцию» и также (сдуру) удален Инсталляционный-манифест

EDIT: Я снова побежал менеджер пакетов, и обнаружили, что не все OpenCV пакеты из PPA получил правильно установлен. Так что я сделал Sudo APT-получить установку 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 из моей системы, так что я могу начать заново

ответ

34

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

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

+1

Спасибо! Только то, что я искал. Я удалил пакеты, затем запустил sudo find/-name "* opencv *" -exec rm -i {} \; затем переустановите пакеты. Исправлена ​​моя последняя ошибка, запустив sudo dpkg -i -force-overwrite path-to-package. OpenCV, похоже, работает сейчас, хотя я еще должен тщательно его протестировать. Python-OpenCV работает как раньше. – flak37

+0

Рад, что я мог помочь! – mevatron

+0

Другим связанным предложением было бы установить OpenCV на виртуальной машине в следующий раз, когда вам нужно будет его использовать; таким образом, когда пришло время удалить все, что вам нужно, это уничтожить VM и * poof *, все готово. – the911s

4

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

+0

В моем случае и, возможно, flak37's, произошла ошибка с использованием make для удаления 'opencv'. – ryanjdillon

+0

не работает ......... – stack5

+0

Это рекомендуемый способ, если у вас есть каталог 'opencv' build .. –

2

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

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

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

+1

в случае, если кто-либо еще видит это (upvoted?) Answer и думает о его запуске - Пожалуйста, не делайте этого. Вместо этого сделайте что-нибудь вроде (обратите внимание: проверяя верхний/нижний, есть оба): 'sudo find/\ (-name" * opencv * "-o -name" * OpenCV * "\) -print 2>/dev/null>/tmp/out.txt' и вручную проверите '/ tmp/out.txt' то, что вы хотите удалить. Выполнение вышеуказанной команды было бы сумасшедшим. Другое дело попробовать (но не является исчерпывающим) - «locate -i opencv». Вы быстро заметите, что есть вещи, которые вы не хотите удалять. – michael

0

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

Смежные вопросы