Kubuntu 11.10(KDE 4.8付き)を実行しています
これをすべて読む前に:
システムからOpenCVのすべてのトレースを削除したいだけなので、新たに開始できます。
一部始終
最初にpython-opencvとlibopencv(2.1と思います)を https://launchpad.net/~gijzelaar/+archive/opencv2 からインストールしました。私はその時点でpython-opencvのみを試しましたが、これは完全に機能しました(OpenCVを使用してC++コードを使用しようとしませんでした)
その後、最近ソースからOpenCV 2.3.1をインストールしようとしましたが、インストールされましたが、独自のC++コードをコンパイルしている間(OpenCVを使用)、libgtkがインストールされていないというエラーが発生し、python以前正常に実行されていたopencvコード
そこで、libgtk2-devライブラリをインストールし、OpenCV 2.3.1を再度コンパイルしてインストールしました。
それでもエラーが発生したため、cmake、makeなどを実行していた、tarされていないOpenCVディレクトリを削除しました。アンインストールしませんでした(今では自分の間違いだとわかりました)
そして代わりに、ここからubuntu opencv 2.3パッケージ(すべての依存関係を含む)をインストールしました: https://launchpad.net/~gijzelaar/+archive/opencv2.
問題は、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
あなたが見ることができるように、エラーはまだOpenCVをコンパイルしてインストールしたディレクトリを指します
OpenCVのコンパイル済みバージョンのすべてのトレースを完全に削除し、ubuntuパッケージのファイルを保持する方法はありますか?前に述べたように、「アンインストールする」ことはせず、インストールマニフェストも(愚かに)削除しました
EDIT:パッケージマネージャーを再度実行しましたが、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)
システムからOpenCVのすべてのトレースを削除したいだけなので、新たに開始できます
デフォルトでは、ソースからOpenCVをビルドするとき、/usr/local/lib
および/usr/local/bin
に出力を配置します。エラーメッセージから判断すると、ライブラリは/usr/lib
に、バイナリは/usr/bin
に配置されているように見えるので、チェックインすることもできます。
Linux find コマンドも使用できます。したがって、すべてのOpenCVライブラリを見つけるには、次の操作を実行できます(これには時間がかかる場合があります)。
$> Sudo find / -name "*opencv*" -exec rm -i {} \;
上記のコマンドは、名前にopencvを含むすべてのファイルを検索し、それを削除するようプロンプトを表示します。いつものように、物を手動で削除するときは注意してください!
もう1つのオプションは、OpenCVを再度手動でコンパイルすることです(exactly前と同じように)、make install
を使用してインストールマニフェストを作成し、make uninstall
を試して、クリーンアップされるかどうかを確認します。
お役に立てば幸いです! :)
Sudo make uninstall
クリーンアンインストールの場合
ビルドディレクトリがある場合は、以下を実行することをお勧めします。
$ Sudo make uninstall
@Navidの回答に従ってビルドディレクトリから
ただし、これにより、.so *ファイルはほとんど残りません
そのようなファイルをすべて完全に削除するには、次のようにします。
$ Sudo rm /usr/local/{bin,lib}/*opencv*
/usr/local
は通常設定するものですCMAKE_INSTALL_PREFIX
実行中cmake
。 cmake
の実行方法に応じて置き換えます
「対話」なしですべてのファイルとフォルダーを削除するには、以下のコマンドを使用します。
Sudo find / -name "*opencv*" -exec rm -rf {} \;
注意:「再帰」および「強制」削除を実行することはお勧めできません。
ソースでSudo make install
コマンドを使用してopencvがインストールされている場合は、ビルドフォルダーに移動してSudo make uninstall
を使用し、opencvをアンインストールする必要があります。