incohérance dans les dépôts ubuntu

En voulant installer build-essential chez une amie qui n’a pas internet je me suis heurté à un mur :

J’avais prévu de télécharger le paquet et les dépendances puis de les mettre sur une clé usb et enfin de les installer sur l’ordinateur en question.

MAIS :
Build-essential nécessite le compilateur C++ et ce compilateur nécessite le paquet g+±4.2 or ce dernier paquet nécessite la librairie libstdc++6-4.2-dev qui elle même dépend du paquet g+±4.2 (et la boucle est bouclée).

En résumé pour ceux qui se sont perdus : (–> = dépend de)

build-essential --> g++ --> g+±4.2 --> libstdc++6-4.2-dev --> g+±4.2

Donc comment installer build-essential dans ces conditions ?

Comment apt résoud lui cette incohérance ?

et avec une commande du style

puis l’installation de build-essential, ça passe pas ?

apt résoud ce problème de façon assez simple puisqu’il installe les deux en même temps, donc il considère que les dépendances sont satisfaites. En revanche, avec dpkg, tu dois les installer un par un, du coup, comme la dépendance est en boucle…c’est impossible.

La méthode d’Alex marche peut-être, mais si je comprend bien comment marche bash, il cherchera quand même à les installer un par un donc tu ne résoudras pas ton problème.

Une méthode peut-être de graver les paquets nécessaires sur un CD et de déclarer ce CD dans ton sources.list. Je crois même qu’il existe une commande apt-cd, mais là, tu devras te documenter ou attendre un avis plus expert que le mien :wink: .

PS : J’ai déjà eu un problème similaire avec sun-java6-bin et sun-java6-jre. Ma solution avait alors été un cable ethernet :laughing:

salut,

peut-être une idée :
placer les paquets téléchargés dans /var/cache/apt/archives/

une fois ceci fait tu devrais pouvoir installer avec apt-get (ou aptitude) et non dpkg avec un (par exemple)

et apt devrait donc se débrouiller pour que ça passe (si toutes les dépendances sont bien dans le dossier).

Tu télécharges tous les paquets dans un dossier et tu fais cd mondossier, tu passes en su et tu fais un dpkg -i *.deb
C’est un peu sauvage mais ça le fait…