how to uninstall gromacs package via cmake [duplicate]
I used source code to build one package such as below:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib --with-package-name="Myplugin" --with-package-origin="http://www.ubuntu.org/" --enable-gtk-doc --disable-static
make
make install
But unfortunately, i discovered that its the latest version, and has lot of bugs, so i need to remove it/uninstall it. But how can i do so? I tried make clean; make uninstall
but still i see it exist:
# pkg-config --list-all | grep Myplugin
myplugin-....
$ ls /usr/lib/myplugin/libXYZ.so
exist....
How do you remove this now?
Usually you can just use:
make uninstall
or
sudo make uninstall
if the app was installed as root.
But this will work only if the developer of the package has taken care of making a good uninstall rule.
You can also try to get a look at the steps used to install the software by running:
make -n install
And then try to reverse those steps manually.
In the future to avoid that kind of problems try to use checkinstall
instead of make install
whenever possible (AFAIK always unless you want to keep both the compiled and a packaged version at the same time). It will create and install a deb file that you can then uninstall using your favorite package manager.
make clean
usually cleans the building directories, it doesn't uninstall the package. It's used when you want to be sure that the whole thing is compiled, not just the changed files.
I do not think this is a bug, it would be a good idea to read about and learn to use checkinstall when installing from source.
you can install checkinstall from the repositories, a short description of the package;
CheckInstall keeps track of all the files created or modified by your installation script ("make install" "make install_modules", "setup", etc), builds a standard binary package and installs it in your system giving you the ability to uninstall it with your distribution's standard package management utilities.
These links below may be helpful to get a better understanding. http://en.wikipedia.org/wiki/CheckInstall
http://checkinstall.izto.org/
This is not a bug - compiling from source is an unsupported method of installing software that bypasses the package management system (which is used by the Software Centre) completely.
There is no standard way that software compiled from source is installed or uninstalled so no way Ubuntu can know what to do. The software is not even listed as an installed program.
You should follow the distributor's instructions for installation and removal of such custom software. You could also contact the developer to ask for them to create a Debian package so that the package management system can be used.
Make
Make is a program that’s used to compile and install programs from source code. It’s not a package manager so it doesn’t keep track of the files it installs. This makes it difficult to uninstall the files afterwards.
The make install
command copies the built program and packages into the library directory and specified locations from the makefile. These locations can vary based on the examination that’s performed by the configure script.
CheckInstall
CheckInstall is a program that’s used to install or uninstall programs that are compiled from the source code. It monitors and copies the files that are installed using the make program. It also installs the files using the package manager which allows it to be uninstalled like any regular package.
The checkinstall
command is calls the make install
command. It monitors the files that are installed and creates a binary package from them. It also installs the binary package with the Linux package manager.
Replace source_location.deb
and name
in the screenshot with your own information:
Execute the following commands in the source package directory:
-
Install CheckInstall
sudo apt-get install checkinstall
-
Run the Configure script
./configure
-
Run the Make command
make
-
Run CheckInstall
sudo checkinstall
-
Reinstall the package
sudo dpkg --install --force-overwrite source_location.deb
-
Remove the package
sudo apt remove name
Here's an article I wrote that goes through the entire process with explanations.
It is not a bug, it is what happens when developers resort to distribution via source and not via the native packaging methods.
You can get your source files to become debian packages by using checkinstall or dhbuild. Honestly, in my opinion - new users should avoid installing from source, and developers should avoid distributing by source only.