Trying to install the 0 A.D. game results in unmet dependencies. One of them is listed as not installable.
Is there any way to fix this?

Code:

# apt-get install 0ad
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:
0ad : Depends: binutils (< 2.20.2) but 2.21.51.20110421-3 is to be installed
Depends: libenet0debian1 but it is not installable
E: Broken packages

devil

Post subject: RE: installing 0ad Posted: 08.05.2011, 17:17

Joined: 2010-08-26
Posts: 491
Location: Berlin
Status: Offline

we have binutils 2.21.51.20110421-3, the game wants 2.20.2 or lower. stable has binutils 2.20.1-16, but apt-cache depends binutils
will tell you, its not a good idea.

greetz
devil

DonKult

Post subject: RE: installing 0ad Posted: 09.05.2011, 09:13

Team Member

Joined: 2010-09-02
Posts: 485

Status: Offline

Just get the maintainer of the package to update it. I don't know who she or he is, as it's not in debian directly…

(and i remember discussion about it on d-mentors@ for packaging it but a few harder problems blocked it so far - this could be one of those…)

_________________MfG. DonKult
"I never make stupid mistakes. Only very, very clever ones." ~ The Doctor

ShakaZ

Post subject: RE: installing 0ad Posted: 13.05.2011, 10:24

Joined: 2011-02-16
Posts: 67

Status: Offline

The only repository providing it is frickelplatz. I don't know who maintains it.

ok thanks for the info.
I tried building from source but keep hitting errors.
Apparently libcurl4-gnutls-dev libcurl4-openssl-dev are needed but they depend on libcurl-dev which doesn't seem to exist at all.

I manually installed version 1.2.1-1 of libenet-dev and libenet0debian1, that got rid of the errors related to enet.

For me the issue is this:

Code:

apt-get install libcurl4-gnutls-dev libcurl4-openssl-dev
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:

I hope not, then again that wont be the first time or the last... I'm wondering if I should setup a virtual environment to do things like that without any risks of hosing my system.
Using several VM's would also allow building stuff with outdated libraries without impacting other builds using more recent ones.
Does that make sense?

EDIT : at last I managed to compile the whole thing from SVN. Testing right now to see if it works fine.
For the above issue I had, the solution was to install only libcurl4-gnutls-dev instead of trying to install both.

DonKult

Post subject: RE: installing 0ad Posted: 13.05.2011, 16:09

Team Member

Joined: 2010-09-02
Posts: 485

Status: Offline

The solution is simple: If it includes manually installing something with dpkg it is not a solution…

The maintainer of any given package can be retrieved with 'apt-cache show packagename' - the output includes a 'Maintainer' and maybe an 'Uploader' field. At least one of the email addresses in there is a human being (required by debian policy). But let me add, that you shouldn't add repositories at random. You provide to the person maintaining such a repository more or less root-privilege on your system, so i would double check who i am going to trust by adding his repository to my sources.list(.d) ………

(Root access because apt-get is run as root and packages are installed as root, so a package can do EVERYTHING while it is installed/upgraded.)

_________________MfG. DonKult
"I never make stupid mistakes. Only very, very clever ones." ~ The Doctor

None of the reverse dependencies interest me or are installed on my system... all other libenet packages only depend on each other, so I guess there's no risk to have my system broken by downgrading the 3 libenet packages I needed to compile 0AD.
I understand this may not be acceptable for a repository such as towo's where you have to stay on the safe side as you don't know what people have on their system.

Btw, the game runs fine like that and online play works, though both still need a lot of polishing before being ready.

@DonKult : the help message of apt in this case is quite misleading, it makes us believe 2 packages have a common unmet dependency and are broken, when in fact they are conflicting with each other and only one of them can be installed.
In most cases apt gives quite accurate or helpful messages though sometimes it's a complete misrepresentation of the situation. Same as when I had the issue with wine where I was blocked in a broken situation because apt didn't point to the package that was at the heart of the conflict.

Thanks for the tip on how to find the maintainer, I still have a lot to learn before understanding apt fully. Sometimes I wish all the functionality of apt-get apt-cache and dpkg were included in one package, but I guess there must be good reasons for it not to be so.

browe

Post subject:Posted: 16.05.2011, 14:02

Joined: 2010-09-12
Posts: 157
Location: Canada
Status: Offline

@ShakaZ whenever I install new software I always take notes on what other files are installed or removed, or special things I have to do to get the program to work ie. changing permissions, creating a new directory, link, or modifying a configuration file. I mainly do this so I can undo whatever was done if I want to remove the program completely. Also, I'm sure the developers at 0ad would like to hear of the issues posted here... sid might not be the intended place to run their software, but it might be the best place to test and develop it.