How do I remove a program that I have compiled from source using the ./configure; make; make install method? Does it matter whether I have kept the original directory that the source was stored in or not?
1 Answer
There are a couple of approaches that you can pursue.
- Re-run
./configurewith the same options you originally passed to it and then runmake uninstall. If you no longer have the original files, re-download the tarball of the corresponding version and use that. - Use
findorlocateto track down the relevant files (only really practicable for smaller programmes) and remove them manually.
To avoid this scenario again, you could always look at a tool like checkinstall for building from source and tracking the installed files; it was developed for precisely this reason:
A lot of people has asked me how can they remove from their boxes a program they compiled and installed from source. Some times -very few- the program's author adds an uninstall rule to their Makefile, but that's not usually the case. This is my primary reason to write CheckInstall. After you ./configure; make your program, CheckInstall will run make install (or whatever you tell it to run) and keep track of every file modified by this installation.
- 1Disagree with Mr. CheckInstall vis, "sometimes -very few- the program's author adds an uninstall rule". Some of them don't, but I think most of them do. They've already had to deal with their own tish over and over again, which is a pretty good motive.goldilocks– goldilocks2013-02-14 07:11:27 +00:00Commented Feb 14, 2013 at 7:11
- Best bet is to create a proper package for your system. That way the package manager is aware of the program, tracks dependencies, and can uninstall cleanly.vonbrand– vonbrand2013-02-14 14:31:48 +00:00Commented Feb 14, 2013 at 14:31
make uninstall? But you need to keep Makefile.make uninstall.fpmand the package manager shipped with the distro.