我删除了叮当声。我尝试使用 apt 卸载 clang,然后重新安装它,但出现此错误:
Setting up clang (1:3.8-33ubuntu3.1) ...
update-alternatives: error: alternative path /usr/bin/clang++ doesn't
exist
dpkg: error processing package clang (--configure):
subprocess installed post-installation script returned error exit
status 2
Errors were encountered while processing:
clang
E: Sub-process /usr/bin/dpkg returned an error code (1)
我也尝试过使用 apt 删除 llvm 并重新安装它,因为我知道它也应该安装 clang。
我使用的是 Ubuntu 16.04,因为其他版本对我来说存在无法运行的错误。
以下是更多信息:
main@ws001:~$ whereis clang
clang: /usr/bin/clang #this is obviously broken
main@ws001:~$ which clang
apt-cache 依赖于 clang
clang
Depends: clang-3.8
Breaks: <clang-3.2>
Breaks: <clang-3.3>
Breaks: <clang-3.4>
Breaks: clang-3.5
Replaces: clang
Replaces: <clang-3.2>
Replaces: <clang-3.3>
Replaces: <clang-3.4>
Replaces: clang-3.5
答案1
您可以使用以下标志重新安装软件包--force-overwrite
:
dpkg -i --force-overwrite /var/cache/apt/archives/clang*
在使用之前查看旧版本的缓存clang*
。
答案2
问题是 Clang 已经安装但与其他名称链接。
如果该代码给你这样的错误:
cd /var/lib/dpkg/info/
./clang.postinst
update-alternatives: ошибка: альтернативный путь /usr/bin/clang++ не существует
解决方案是编辑 clang.postinst。改变一下:
update-alternatives --quiet \
--install /usr/bin/c++ \
c++ \
/usr/bin/clang++ \
$prio
update-alternatives --quiet \
--install /usr/bin/cc \
cc \
/usr/bin/clang \
$prio
对此:
update-alternatives --quiet \
--install /usr/bin/clang++ \
clang++ \
/usr/bin/c++ \
$prio
update-alternatives --quiet \
--install /usr/bin/clang \
clang \
/usr/bin/cc \
$prio
运行它并测试 clang:
./clang.postinst
clang
clang: fatal error: no input files
compilation terminated.
答案3
通过重装操作系统解决。如果有人遇到此问题并设法解决它,请告诉我如何解决。