fla*_*k37 24 ubuntu opencv uninstall
我正在运行Kubuntu 11.10(带KDE 4.8)
在你读完这一切之前:
我只是想从我的系统中删除所有OpenCV的痕迹,所以我可以重新开始..
整个故事
很久以前我首先从https://launchpad.net/~gijzelaar/+archive/opencv2安装了python-opencv和libopencv(2.1我认为).我当时只尝试过python-opencv,它运行得很好(我没有尝试使用OpenCV的C++代码)
然后我最近尝试从源安装OpenCV 2.3.1,它已安装但在编译我自己的C++代码(使用OpenCV)时,它给了我关于未安装libgtk的错误,并且还破坏了我之前运行良好的python opencv代码
所以我安装了libgtk2-dev库并再次编译和安装了OpenCV 2.3.1 ..
错误仍然存在,所以我删除了我运行cmake,make等的未解析的OpenCV目录.我没有卸载(我现在意识到这是我的错误)
而是从这里安装了ubuntu opencv 2.3软件包(包含所有依赖项):https://launchpad.net/~gijzelaar/+archive/opencv2.3
现在的问题是,当我编译包含OpenCV的C++代码时,我仍然得到相同的错误,并且错误仍然指向我的(已删除的)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
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,错误仍然指向我编译和安装OpenCV的目录
有没有办法彻底删除我编译的OpenCV版本的所有痕迹,只是保留ubuntu包中的文件?正如我之前提到的,我没有'卸载'并且(愚蠢地)删除了install-manifest
编辑: 我再次运行包管理器,发现并非所有来自ppa的opencv包都已正确安装.所以我再次做了一个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)
Run Code Online (Sandbox Code Playgroud)
我只是想从我的系统中删除所有OpenCV的痕迹,所以我可以重新开始
mev*_*ron 41
默认情况下,从源代码构建OpenCV时,它会将其输出放在/usr/local/lib
和中/usr/local/bin
.虽然,从您的错误消息判断,它看起来像是放入了库/usr/lib
和二进制文件/usr/bin
,因此您也可以在那里签到.
您也可以使用Linux find命令.因此,要查找所有OpenCV库,您可以执行以下操作(这可能需要一段时间):
$> sudo find / -name "*opencv*" -exec rm -i {} \;
Run Code Online (Sandbox Code Playgroud)
上面的命令会在名称中找到包含opencv的任何文件,并会提示您将其删除.一如既往,手动删除时要小心!
另一种选择可能是再次手动编译OpenCV(与之前完全一样),make install
创建安装清单,然后尝试make uninstall
查看它是否会自行清理.
希望有所帮助!:)
如果您拥有构建目录,那么建议执行:
$ sudo make uninstall
Run Code Online (Sandbox Code Playgroud)
从构建目录按照@Navid的答案
但这会在某个地方留下几个.so *文件
要完全删除所有此类文件,请执行以下操作:
$ sudo rm /usr/local/{bin,lib}/*opencv*
Run Code Online (Sandbox Code Playgroud)
/usr/local
这是我们通常CMAKE_INSTALL_PREFIX
在跑步时设置的cmake
。根据执行方式替换它cmake
我找不到构建目录,所以:
sudo apt-get purge '*opencv*'
和:
sudo find / -name "*opencv*" -exec rm -rf {} \;
这似乎效果很好。
您可以通过以下方式仔细检查:
sudo find / -name "*opencv*";
归档时间: |
|
查看次数: |
117030 次 |
最近记录: |