ソースからCMakeをインストールした後にcmakeを削除するにはどうすればよいですか?

TL;DR:前にsudo make installを実行したディレクトリでsudo make uninstallを実行します。

別のバージョンのCMakeをインストールするこの方法に従いました。 これは、Ubuntuのパッケージマネージャーが提供するバージョンをアンインストールし、ソースコードから手動でダウンロード、コンパイル、インストールしたと言うことです。

これらの指示に正常に従うことができたと仮定すると、Ubuntuのパッケージマネージャーによって提供されるCMakeのバージョン(cmakeパッケージを介して)はすでにアンイ 今インストールしたバージョンはUbuntuのパッケージマネージャーではなく、自分でコンパイルしてインストールしたバージョンであるため、sudo apt-get purge cmakeを再度実行しても削除

cmakeをコンパイルしてからsudo make installを実行してインストールしたので、解決策は次のとおりです:

  1. そのコマンドを実行したディレクトリに戻るには、cdを使用します。
  2. sudo make uninstallを実行します。

make installを実行してインストールできるすべてのソフトウェアに対応するuninstallターゲットがあり、make uninstallを実行して削除できるわけではありません。 しかし、CMakeはこれをサポートしています。1

sudo make installを実行したフォルダを削除したり、変更したりした場合は、sudo make uninstallを実行する機能を取り戻すために、それを再構築して再インストールすることをお勧めします(正確に同じバージョンを使用するようにしてください)。 つまり、同じ.tar.gzファイルから開始し、使用したすべてのオプション(存在する場合)を./bootstrapに渡して、同じインストール手順に従います。 その後に引数を指定せずに./bootstrapを実行しただけの場合は、もう一度実行してください。 sudo make installを再度実行すると、既にインストールされているファイルに自分自身のコピーが(無害に)上書きされ、sudo make uninstallを使用することができます。

もう一つの考えられるアプローチは、インストール中に作成されたファイルとディレクトリを正確に把握し、それらのファイルとディレクトリだけを削除しようとすることですが、他のものは削除しません。 CMakeをコンパイルしたときに--prefix./bootstrapに渡さなかった場合、ファイルは/usr/localにインストールされますが、そのディレクトリを使用するプログラムはそれだけではあ それは/usr/localのさまざまなサブディレクトリ(binlibなど)にファイルをインストールしていたので、/usr/localに他に何もインストールされていないことを知っている状況を除いて、このオプションには多くの作業が必要です。

1デフォルトでは、CMakeを使用して独自のソフトウェアのビルドスクリプトを作成すると、明示的に要求しない限り、uninstallターゲットは生成されないため、sudo make uninstallを実行してCMakeをアンインストールできるかどうかについて混乱するのは簡単です。 しかし、CMake自体は簡単にアンインストールできるように設計されており、そのソースコードはそれらのアンインストールターゲットを定義しています。 実行中の./bootstrapから生成されたMakefileには、次のように表示されます:

#=============================================================================# Target rules for targets named uninstall# Build rule for target.uninstall: cmake_check_build_system $(MAKE) -f CMakeFiles/Makefile2 uninstall.PHONY : uninstall# fast build rule for target.uninstall/fast: $(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build.PHONY : uninstall/fast

また、CMakeListsでアンインストールサポートを検索することもできます。txtファイル。確かに、私はこれをCMake3.9でテストしました。0、それは動作します。 uninstallターゲットが生成され、sudo make uninstallを実行するとCMakeがアンインストールされます。

コメントを残す

メールアドレスが公開されることはありません。