在运行
./configure --prefix=/mingw
在我之前运行的一个库的MinGW/MSYS系统上
'./configure --prefix=/mingw && make && make install'
我看到了这条信息:
警告:Vamp插件SDK的一个版本已经安装。如果您安装了新版本而没有先删除旧版本,那么您将会感到担忧和痛苦。(继续)
这让我很担心。“make install”的反义词是什么,即如何在Linux中卸载库?“清洁”能起作用吗,或者还有其他步骤吗?
如果sudo make uninstall不可用:
在基于Debian的系统中,你可以运行sudo checkinstall来生成一个自动安装的.deb文件,而不是(或在*之后)执行make install。然后,您可以使用系统包管理器(例如apt/synaptic/aptitude/dpkg)删除它。Checkinstall还支持创建其他类型的包,例如RPM。
参见http://community.linuxmint.com/tutorial/view/162和一些基本的checkinstall用法和debian checkinstall包。
*:如果你是在安装了make install后阅读这篇文章,你仍然可以按照上面的说明,然后执行dpkg -r $PACKAGE_NAME_YOU_CHOSEN。
我知道很少有包支持“make uninstall”,但更多的包支持“make install DESTDIR=xxx”进行分期安装。
您可以使用它来创建一个包来安装,而不是直接从源代码安装。我没有运气与checkinstall,但fpm工作得很好。
这还可以帮助您删除之前使用make install安装的包。您只需强制在make installed的包上安装您构建的包,然后卸载它。
例如,我最近使用它来处理protobuf-3.3.0。
RHEL7:
make install DESTDIR=dest
cd dest
fpm -f -s dir -t rpm -n protobuf -v 3.3.0 \
--vendor "You Not RedHat" \
--license "Google?" \
--description "protocol buffers" \
--rpm-dist el7 \
-m you@youraddress.com \
--url "http:/somewhere/where/you/get/the/package/oritssource" \
--rpm-autoreqprov \
usr
sudo rpm -i -f protobuf-3.3.0-1.el7.x86_64.rpm
sudo rpm -e protobuf-3.3.0
如果可以的话,你更喜欢yum而不是rpm。
Debian9:
make install DESTDIR=dest
cd dest
fpm -f -s dir -t deb -n protobuf -v 3.3.0 \
-C `pwd` \
--prefix / \
--vendor "You Not Debian" \
--license "$(grep Copyright ../../LICENSE)" \
--description "$(cat README.adoc)" \
--deb-upstream-changelog ../../CHANGES.txt \
--url "http:/somewhere/where/you/get/the/package/oritssource" \
usr/local/bin \
usr/local/lib \
usr/local/include
sudo apt install -f *.deb
sudo apt-get remove protobuf
在你能做到的地方,你更喜欢倾向于dpkg。
我也把答案贴在这里了