Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.
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.

Question> What should I do to solve this problem?

The repository I have used is as follows:

deb http://llvm.org/apt/precise/ llvm-toolchain-precise main
deb-src http://llvm.org/apt/precise/ llvm-toolchain-precise main
share|improve this question

1 Answer 1

You can read the list of packages provided by the repository at llvm-toolchain-precise. You will see that it provides both 3.3 and 3.4 packages.

If you look at the error message, you will note that where the version number is not specified as part of the package name, the 3.4 versions are trying to be installed, which are not compatible with 3.3. apt-get always tries to install the highest version number.

You have several choices depending on why you need a particular version:

1) Use the default versions in the standard 12.04 repositories based on clang 3.0

2) Modify your command to use the 3.4 versions from the llvm repository.

3) Use Synaptic to specify the versions you need.

4) Force apt-get to use the 3.3 versions of the problematic packages. Warning: the man file man apt-get says this has the potential to destroy your system.

5) Build the 3.3 version and it's dependencies from source and install to Home.

share|improve this answer
    
How do you do 2) and get it from the llvm repository? –  Arthur Wulf White Mar 1 at 19:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.