2012-02-14 84 views
18

Tôi đang chạy Kubuntu 11.10 (w/KDE 4.8)Loại bỏ tất cả các libs OpenCV được cài đặt

Trước khi bạn đọc bài này:

Tôi chỉ muốn loại bỏ tất cả dấu vết của OpenCV từ hệ thống của tôi, vì vậy tôi có thể khởi đầu lại ..

toàn bộ câu chuyện

đầu tiên tôi cài đặt python-opencv và libopencv (2.1 tôi nghĩ) từ https://launchpad.net/~gijzelaar/+archive/opencv2 một thời gian dài trước đây. Tôi chỉ cố gắng python-opencv tại thời điểm đó, mà làm việc hoàn hảo (Tôi đã không cố gắng sử dụng mã C + + bằng cách sử dụng OpenCV)

Sau đó, tôi gần đây đã cố gắng để cài đặt OpenCV 2.3.1 từ nguồn, đã được cài đặt nhưng trong khi biên dịch của riêng tôi Mã C++ (sử dụng OpenCV), nó đã cho tôi lỗi về libgtk chưa được cài đặt và cũng đã phá vỡ mã opencv python của tôi đang chạy tốt trước đó

Vì vậy, tôi đã cài đặt thư viện libgtk2-dev và biên dịch và cài đặt OpenCV 2.3.1 lần nữa ..

Lỗi vẫn xảy ra, vì vậy tôi đã xóa thư mục OpenCV chưa được sửa chữa mà từ đó tôi đang chạy cmake, tạo, v.v. Tôi đã không làm cho gỡ bỏ cài đặt (mà bây giờ tôi nhận ra là sai lầm của tôi)

và thay vào đó cài đặt gói ubuntu opencv 2.3 (với tất cả phụ thuộc) từ đây: https://launchpad.net/~gijzelaar/+archive/opencv2.3

Bây giờ vấn đề là tôi vẫn nhận được lỗi tương tự khi tôi biên dịch C của tôi ++ mã mà bao gồm OpenCV, và lỗi vẫn chỉ vào tôi (xóa) thư mục nguồn 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 

Như bạn có thể thấy lỗi vẫn trỏ tới thư mục từ nơi tôi đã biên soạn và cài đặt OpenCV

Có cách nào để loại bỏ hoàn toàn tất cả các dấu vết của phiên bản OpenCV đã biên dịch của tôi và chỉ giữ các tệp từ gói ubuntu? Như tôi đã đề cập trước đó tôi không 'make uninstall' và tôi cũng đã (điên rồ) xóa các cài đặt-manifest

EDIT: Tôi chạy trình quản lý gói một lần nữa, và thấy rằng không phải tất cả các gói opencv từ ppa đã nhận được cài đặt đúng cách. Vì vậy, tôi đã làm một sudo apt-get install opencv một lần nữa, và bây giờ tôi nhận được lỗi này:

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) 

Tôi chỉ muốn loại bỏ tất cả dấu vết của OpenCV từ hệ thống của tôi, vì vậy tôi có thể bắt đầu lại từ đầu

Trả lời

34

Theo mặc định , khi xây dựng OpenCV từ nguồn, nó sẽ đặt đầu ra của nó trong /usr/local/lib/usr/local/bin. Mặc dù, đánh giá từ các thông báo lỗi của bạn, có vẻ như nó đã đặt các thư viện trong /usr/lib và các tệp nhị phân trong /usr/bin, vì vậy bạn cũng có thể đăng ký tại đó.

Bạn cũng có thể sử dụng lệnh Linux find. Vì vậy, để tìm thấy tất cả các thư viện OpenCV bạn có thể làm như sau (điều này có thể mất một thời gian):

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

Lệnh trên sẽ tìm thấy bất kỳ tập tin có chứa opencv trong tên, và sẽ nhắc bạn để loại bỏ nó. Như mọi khi, hãy cẩn thận khi xóa mọi thứ theo cách thủ công!

Một lựa chọn khác có thể tự biên dịch OpenCV một lần nữa (chính xác như bạn đã làm trước đó), make install để tạo ra các cài đặt hiển nhiên, và sau đó thử make uninstall để xem nếu nó sẽ dọn sạch chính nó.

Hy vọng điều đó sẽ hữu ích! :)

+1

Cảm ơn! Chỉ cần những gì tôi đang tìm kiếm. Tôi gỡ cài đặt các gói, sau đó chạy sudo find/-name "* opencv *" -exec rm -i {} \; sau đó cài đặt lại các gói. Đã sửa lỗi cuối cùng của tôi bằng cách chạy sudo dpkg -i --force-overwrite đường dẫn tới gói. OpenCV dường như hoạt động ngay bây giờ, mặc dù tôi chưa thử nghiệm kỹ lưỡng. Python-OpenCV hoạt động như trước đây. – flak37

+0

Vui vì tôi có thể giúp! – mevatron

+0

Một đề xuất liên quan khác là cài đặt OpenCV trong máy ảo vào lần tới bạn cần sử dụng nó; theo cách đó khi đã đến lúc gỡ cài đặt tất cả những gì bạn phải làm là phá hủy VM và * poof *, bạn đã hoàn tất. – the911s

4

Bạn có thể làm một sudo make uninstall cho một gỡ bỏ cài đặt sạch

+0

Trong trường hợp của tôi, và có lẽ là flak37, đã xảy ra lỗi khi sử dụng lệnh make để gỡ bỏ 'opencv'. – ryanjdillon

+0

không hoạt động ......... – stack5

2

Để loại bỏ tất cả các tập tin và thư mục mà không cần "tương tác", sử dụng lệnh dưới đây:

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

LƯU Ý: Nó không phải khuyến khích để chạy "đệ quy" và "lực lượng" xóa.

+1

trong trường hợp bất kỳ ai khác nhìn thấy câu trả lời này (upvoted?) & Đang nghĩ đến việc chạy nó - vui lòng không. Thay vào đó hãy làm một cái gì đó như (lưu ý: kiểm tra cho trên/dưới, có cả hai): 'sudo find/\ (-name" * opencv * "-o -name" * OpenCV * "\) -print 2>/dev/null>/tmp/out.txt' và tự kiểm tra '/ tmp/out.txt' cho những thứ bạn muốn xóa. Chạy lệnh trên sẽ rất điên rồ. Một điều cần thử (nhưng không đầy đủ) là 'định vị -i opencv'. Bạn sẽ nhanh chóng nhận thấy rằng có những thứ bạn không muốn remove_. – michael

0

Nếu OpenCV được cài đặt sử dụng sudo make install lệnh trên nguồn sau đó đi đến việc xây dựng thư mục và sử dụng sudo make uninstall và nó sẽ gỡ bỏ cài đặt opencv

Các vấn đề liên quan