[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apt-get : pb de dépendances mais le package marche quand même !



Le dim 26/01/2003 à 13:18, Yannick a écrit :

> home:/home/yan# apt-get upgrade
> Reading Package Lists... Done
> Building Dependency Tree... Done
> You might want to run `apt-get -f install' to correct these.
> Sorry, but the following packages have unmet dependencies:
>   bzflag: Depends: libc6 (>= 2.3.1-1) but 2.2.5-11.2 is installed
> E: Unmet dependencies. Try using -f.
> 
> Y a-t-il une commande pour résourdre cela ? A ce que je comprend si je fais :
> apt-get -f install bzflag il va me virer la version 1.7g0 pour me remettre la 
> version offcicielle de woody, la 1.7e. Or je préfère la dernière version.
> 
> Une idée ?
> 

Ton problème est le suivant : tu essaies d'installer un paquet binaire
sid sur une woody.
Ce n'est pas impossible en soi, mais il faut t'attendre à résoudre un
grand nombre de dépendances, en particulier sur la libc6.
Le résultat en général est que tu te retrouves avec une Debian plus
proche de l'unstable que de stable.

Voici ce que je fais personnellement (sauf que je travaille en testing):

  1. je rajoute dans mon /etc/apt/sources.list
deb-src http://ftp.fr.debian.org/debian unstable main contrib non-free

  2. je télécharge les sources du paquet dans un répertoire
cd ~/src
apt-get source bzflag

  3. je compile le paquet sur ma machine
cd bzflag-1.7g0
dpkg-buildpackage -rfakeroot

Là tu auras sûrement des problèmes de dépendance qui te seront
clairement indiqués ; mais beaucoup plus légers, ils peuvent la plupart
du temps être résolus en installant des paquets woody.
Donc tu installes avec apt-get tous les paquets demandés en version
woody et tu recommences dpkg-buildpackage -rfakeroot.

Si tu as toujours des problèmes de dépendance, c'est que tu as besoin de
la version sid de certains paquets. Tu recommences donc toute la
procédure avec ces paquets là, et ainsi de suite *récursivement*,
jusqu'à dépasser cette étape.

  4. A ce stade, j'obtiens des .deb dans ~/src qu'il me faut installer.
La solution la plus immédiate est de faire dpkg -i <mon_paquet.deb>,
mais c'est sale.
La solution la meilleure est de créer un dépôt local.
su -
cd /usr/local
mkdir debs
mkdir debs/bzflag
cp /home/xxx/src/*.deb debs/bzflag

NB: le nom bzflag est à la fois arbitraire et mnémotechnique, j'y place
l'ensemble des paquets sid qu'il m'a été nécessaire de compiler pour
installer bzflag.

cd debs
dpkg-scanpackages . /dev/null | gzip >Packages.gz

  5. Je rajoute le dépôt local dans /etc/apt/sources.list
deb file:/usr/local/debs /

  6. apt-get update && apt-get dist-upgrade

NB: j'insiste sur le côté *récursif* de cette méthode, puisque chaque
dépendance peut en entraîner d'autres.

Pour en savoir plus : apt-howto et le guide du nouveau responsable
Debian.

Les problèmes de dépendance étant assez fréquents, je ne suis pas contre
le fait que ce message initie un chapitre de la FAQ (.
Et que les spécialistes d'apt n'hésitent pas à faire des remarques.

Pour ma part j'ai pu installé de cette manière les dernières versions de
cups, sane et wine.
Par contre, scribus m'a conduit à un upgrade de gcc, je n'est donc pas
franchi le pas.




Reply to: