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.

On my Ubuntu I needed to install a newer version of erlang.

Then I installed rabbitmq-server with dpkg --force-depends -i rabbitmq-server_2.1.1-1_all.deb

And everything worked fine, till...

Now I have the following problem when doing an apt-get install or upgrade:

rabbitmq-server: Depends: erlang-base (>= 1:12.b.3) but it is not installable or
                          erlang-base-hipe (>= 1:12.b.3) but it is not installable
                 Depends: erlang-ssl which is a virtual package. or
                          erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
                 Depends: erlang-os-mon which is a virtual package. or
                          erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
                 Depends: erlang-mnesia which is a virtual package. or
                          erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
                 Depends: erlang-inets which is a virtual package. or
                          erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
Remove the following packages:
rabbitmq-server

Score is 121

Accept this solution? [Y/n/q/?]

What command tells apt to resolve dependencies without removing the package?

Thanks a lot in advance...

share|improve this question
add comment

1 Answer 1

up vote 4 down vote accepted

apt tries to resolve the problem, you can also use "apt-get -f install" to ask it for that. However you can't expect it can fix the dependencies (with other solution than removing the problematic package) if there is no package in the configured repositories which is needed by the "problematic" package. Dependencies also can require version specific things (newer, older, etc). So in nutshell; you may have the problem since you forced something to install a package with dependencies which cannot be resolved at all. The question is: where did you get that package? Is it possible that it has got a version which is designed for your version of ubuntu? I guess this can be the problem anyway. So the problem is caused by you, when you ignored dependencies with intent "--force-depends".

If you are really brave (note, this is really not recommended!) you can edit that package's dependencies by editing file /var/lib/dpkg/status. If the software otherwise work for you, it can be the solution, but again, this is VERY ugly also you can damage your package database this way, this is really not a clever thing to do, unless you like to be bad :)

share|improve this answer
    
i had to install rabbit-mq server with --force-depends. the problem comes, that i've my own compiled erlang and cannot install the erlang from ubuntu ( it's too old ) –  user10941 Feb 16 '11 at 10:53
    
Ahaa, well-well, as I've written, it's really a case when you broke the dependency, so it's hard to expect ubuntu to solve the problem when you wanted to do this ... I've just edited my answer, you can try to edit the status file, but again: it is a very-very ugly and not recommended thing to do, so you've been warned! :) –  LGB Feb 16 '11 at 10:55
1  
thank you very much. it worked... however i just removed it again in favour of creating dummy packages: eric.lubow.org/2010/system-administration/… –  user10941 Feb 16 '11 at 11:52
    
Ah yes. As mplayer ex-developer I still compile my own mplayer from source, but I am lazy to package it, so I have my own "dummy package" as well to provide mplayer dependency of some packages :) –  LGB Feb 16 '11 at 12:37
add comment

Your Answer

 
discard

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