在 Ubuntu 12.04 上安装 clang 3.3 并看到未满足的依赖关系错误

在 Ubuntu 12.04 上安装 clang 3.3 并看到未满足的依赖关系错误
ubuntu@ubuntu-VirtualBox:~/Downloads$ sudo apt-get install clang-3.3 clang-3.3-doc libclang-common-dev libclang-dev libclang1 libclang1-dbg libllvm-3.3-ocaml-dev libllvm3.3 libllvm3.3-dbg lldb-3.3 llvm-3.3 llvm-3.3-dev llvm-3.3-doc llvm-3.3-examples llvm-3.3-runtime
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 clang-3.3 : Depends: libclang-common-dev (= 1:3.3~svn181304-1~exp1) but 1:3.4~svn182727-1~exp1 is to be installed
 libclang-common-dev : Depends: libllvm3.4 (= 1:3.4~svn182727-1~exp1) but 1:3.4~svn183792-1~exp1 is to be installed
E: Unable to correct problems, you have held broken packages.

问题>我应该怎么做才能解决这个问题?

我使用的存储库如下:

deb http://llvm.org/apt/precise/ llvm-toolchain-precise main
deb-src http://llvm.org/apt/precise/ llvm-toolchain-precise main

答案1

您可以在以下位置阅读存储库提供的软件包列表llvm-工具链-精确。您将看到它提供了 3.3 和 3.4 两个包。

如果您查看错误消息,您会注意到,如果未将版本号指定为软件包名称的一部分,则尝试安装 3.4 版本,这与 3.3 不兼容。apt-get始终尝试安装最高版本号。

根据您需要特定版本的原因,您有多种选择:

1)使用基于以下标准 12.04 存储库中的默认版本clang 3.0

2)修改您的命令以使用来自 llvm 存储库的 3.4 版本。

3)使用Synaptic指定您所需要的版本。

4) 强制apt-get使用有问题的软件包的 3.3 版本。警告:手册文件man apt-get指出这有可能破坏您的系统。

5)从源代码构建 3.3 版本及其依赖项并安装到主页。

相关内容