Debian – How to Fix Held Broken Packages

aptdebian

I want to begin exploring moving myself away from google apps, because it's expensive, and it looks like citadel has all of the groupware functions I need. So I am trying to install citadel-suite with:

apt-get install citadel-suite

But it returns:

citadel-suite: depends: citadel-mta but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Well, yes. It does require citadel-mta. That's half the point. So why is it not going to be installed? What broken packages do I have held? Why are they broken? Why are they held? I didn't hold them. Or break them, for that matter.

The problem with apt-get is that, for the 10 years I have been using it, it has, to borrow an Apple phrase, just worked. Now that it isn't, I'm rather at a loss. I did try the -f switch, but it didn't help. I haven't made any modifications to /etc/apt/sources.list, so I can't revert them. What should I try next?

Best Answer

"... But it is not going to be installed" generally means that a serious dependency conflict will ensue if it's allowed to go on.

Try the following command:

aptitude why-not citadel-mta

why-not basically checks dependencies and returns the reasons it would have to not fill a particular dependency automatically.

In the case of my system at home:

shadur@leviathan:~$ aptitude why-not citadel-mta
i   exim4-daemon-light Conflicts mail-transport-agent
p   citadel-mta        Provides  mail-transport-agent

Apparently citadel-mta is a full-on MTA and will therefore replace whatever mail-transport-agent package you currently have installed. Explicitly telling it to install citadel-mta as well should be enough to break the deadlock.

NOTE: Doing so means your current mail server software will be replaced by the one that comes with citadel. Make very sure that that's what you want before you do this.

Related Question