Aller à la page : 1 2 3 suivante
Sujet : Problème /bin/sed: No such file or directory LFS Version 6.6 | posté par haroal 13 messages le 26-04-2010 à 19:49 | | Bonjour,
Comme dit dans le titre, j'ai un problème avec Sed : étant débutant, j'ai fait exactement comme dans le LFS version 6.6 (arborescence, commandes, ...etc) et tout c'est déroulé sans problème jusqu'au chapitre 6.7.
En effet, dès que j'ai lancé la commande : [I]make mrproper[/I] pour les Headers Linux, la console m'a retourné :
[I]/bin/sh: /bin/sed: No such file or directory
Makefile:535: /sources/linux-2.6.33.2/arch//Makefile: No such file or directory
make: *** No rule to make target `/sources/linux-2.6.33.2/arch//Makefile'. Stop.[/I]
Après quelques tests, j'en ai conclus que je ne peux pas accéder à sed depuis l'environnement chroot, mais je peux le faire depuis le root ou un utilisateur quelconque.
Comment faire pour avoir accès à Sed depuis l'environnement chroot et ainsi compiler les Headers Linux afin de continuer l'aventure LSF ? =)
Je suis sous Ubuntu 9.10 Karmic Koala sur une machine 32bits. La version du noyau linux que j'utilise pour le LFS est la dernière, à savoir la 2.6.33.2.
Merci d'avance pour votre réponse.
haroal |
| posté par Texou 271 messages le 26-04-2010 à 19:55 | | Salut,
Déjà une chose essentielle, ne fais aucune commande du chapitre 6 indiquées après le chroot dans ton hôte. Si la commande intervient après le chroot, il faut la faire dans l'environnement construit au chapitre 5.
Pour sed, le mieux est en chroot de retester en tapant la commande sed sans argument voir si elle retourne la même erreur. Puis, moi je ferais un:
find / -name "sed"
(depuis le chroot)
ou sinon, depuis ton hôte:
find /tools -name "sed"
Si ces 2 commandes donnent aucun résultat, tu peux essayer, depuis le hôte et en tant qu'utilisateur lfs, d'installer sed comme indiqué au chap5. Il se peut que tu l'aies oublié au passage.
Voilou. Tiens nous au courant.
_______________________
Texou
Coadministrateur du projet absolinux
Président de l'association traduc.org
Coordinateur du projet Linux From Scratch
Coordinateur au sein du projet Trad GNU de l'April
Animateur suppléant du groupe de travail Accessibilité de l'April
|
| posté par haroal 13 messages le 26-04-2010 à 21:35 | | D'abord merci d'avoir répondu aussi rapidement.
J'ai testé ce que tu m'as dit : j'ai tapé la commande sed en chroot, elle m'a retourné [I]bash: /bin/sed: No such file or directory[/I]. Je l'ai ensuite testé avec mon système hôte ( le sed installé lors du chapitre 5 ) et ça m'a renvoyé la page d'accueil habituelle avec la documentation. Donc le sed marche sur mon système hôte, mais ne marche pas en chroot alors que j'utilise le même !
J'ai ensuite essayé [I]find / -name "sed"[/I] dans le chroot et ça m'a renvoyé [I]/bin/sed /tools/bin/sed[/I] (j'avais essayé de résoudre le problème en mettant un lien symbolique dans /bin, alors que ce n'était pas écrit dans le LSF, mais ça n'avait pas marché).
Je penses qu'il y a un truc avec le chroot, mais je ne vois pas lequel puisque le sed installé marche, mais ne semble pas vouloir être lancer.
Merci encore.
Haroal
PS : J'ai réinstallé le sed plusieurs fois (toujours dans les mêmes conditions que lors du chapitre 5), mais il ne marche toujours pas en chroot.
Je viens de remarquer qu'avec la commande [I]find /tools -name "sed"[/I], tu me fais chercher sed dans le répertoire /tools, mais il ne s'y trouve pas puisqu'il est installé dans /tools/bin. Erreur de ma part ou non ? |
| posté par Texou 271 messages le 26-04-2010 à 22:11 | | J'ai testé ce que tu m'as dit : j'ai tapé la commande sed en chroot, elle m'a retourné [I]bash: /bin/sed: No such file or directory[/I]. Je l'ai ensuite testé avec mon système hôte ( le sed installé lors du chapitre 5 ) et ça m'a renvoyé la page d'accueil habituelle avec la documentation. Donc le sed marche sur mon système hôte, mais ne marche pas en chroot alors que j'utilise le même !
|
Non justement. Là il y a vraiment quelque chose qui t'échappe. Quand tu lances le sed depuis ton hôte, ce n'est pas celui du chap5 qui s'exécute, mais celui de ta ubuntu. Donc qu'il marche dans ton hôte ne prouve absolument rien.
J'ai ensuite essayé [I]find / -name "sed"[/I] dans le chroot et ça m'a renvoyé [I]/bin/sed /tools/bin/sed[/I] (j'avais essayé de résoudre le problème en mettant un lien symbolique dans /bin, alors que ce n'était pas écrit dans le LSF, mais ça n'avait pas marché).
|
Intéressant ça. Que te renvoie: file /bin/sed exécuté depuis chroot? Quelle commande de chroot tu tapes exactement pour te chrooter?
Je penses qu'il y a un truc avec le chroot, mais je ne vois pas lequel puisque le sed installé marche, mais ne semble pas vouloir être lancer.
|
Non cela n'est pas sûr que le sed installé marche (cf. mes explications plus haut).
De rien
PS : J'ai réinstallé le sed plusieurs fois (toujours dans les mêmes conditions que lors du chapitre 5), mais il ne marche toujours pas en chroot.
|
Ok. On verra selon les résultats de tes réponses. Dans quelles conditions t'installe (ou réinstalle) le sed chap5?
Je viens de remarquer qu'avec la commande [I]find /tools -name "sed"[/I], tu me fais chercher sed dans le répertoire /tools, mais il ne s'y trouve pas puisqu'il est installé dans /tools/bin. Erreur de ma part ou non ?
|
Erreur oui, je ne te fais pas chercher dans /tools, je fais démarrer la recherche à tools. Donc il ne cherche que dans tools mais explore tous les sous-répertoires du dossier tools, donc du système temporaire. Et il n'est pas question qu'il explore hors de tools justement.
a++
_______________________
Texou
Coadministrateur du projet absolinux
Président de l'association traduc.org
Coordinateur du projet Linux From Scratch
Coordinateur au sein du projet Trad GNU de l'April
Animateur suppléant du groupe de travail Accessibilité de l'April
|
| posté par haroal 13 messages le 26-04-2010 à 22:31 | | D'abord, lorsque je dit que j'ai utilisé le même sed, c'est que je l'ai voulu : j'ai été dans /tools/bin et j'ai lancé sed avec la commande [I]./sed[/I]. Dans tous les cas, saches que tous les "sed" (celui du LFS et celui du système hôte) marchent : j'ai vérifié =)
Ensuite, j'ai essayé la commande que tu m'avais demandé : [I]file /bin/sed[/I] qui m'a renvoyé : dans le chroot [I]bash: file: command not found[/I] et dans le système hôte [I]/bin/sed: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped[/I].
Pour me chrooter, j'utilise la commande écrite dans le LFS 6.6 à savoir [I]chroot "$LFS" /tools/bin/env -i HOME=/root TERM="$TERM" PS1='\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin /tools/bin/bash --login +h[/I].
J'installe le sed en étant logué en tant que lfs depuis mon système hôte, comme tout le monde fait lors de l'installation de sed au chapitre 5.
Enfin, merci de m'avoir corrigé sur mon erreur : j'avais pas très bien compris la commande find =)
Merci d'accorder autant de ton temps à me répondre.
Haroal
|
| posté par Texou 271 messages le 26-04-2010 à 22:38 | | ok on avance. Toujours en chroot, ça marche si tu tapes /bin/sed (le chemin complet donc)? et que dit echo $PATH
Et tant qu'on y est, que dit /bin/file (le chemin complet vers file). Ca s'exécute?
a++ :)
_______________________
Texou
Coadministrateur du projet absolinux
Président de l'association traduc.org
Coordinateur du projet Linux From Scratch
Coordinateur au sein du projet Trad GNU de l'April
Animateur suppléant du groupe de travail Accessibilité de l'April
|
| posté par haroal 13 messages le 26-04-2010 à 22:45 | | Alors :
[I]/bin/sed[/I] donne toujours [I]bash: /bin/sed: No such file or directory[/I];
[I]echo $PATH[/I] me donne [I]/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin[/I];
[I]/bin/file[/I] me donne [I]bash: /bin/file: No such file or directory[/I], mais je pense pas qu'il doive être installé dans l'environnement chroot là où j'en suis, si ? Parceque là il n'est même pas dans le dossier /bin du chroot. |
| posté par Texou 271 messages le 26-04-2010 à 22:50 | | Bon faisons le point. Qu'on soit bien d'accord: si depuis l'hôte tu fais ls /tools/bin/sed, il le voit. Si tu fais ls /bin/sed depuis chroot là il le voit plus. Le résumé convient-il? Si oui, fais ls en chroot, et ls /bin pour voir.
a+
_______________________
Texou
Coadministrateur du projet absolinux
Président de l'association traduc.org
Coordinateur du projet Linux From Scratch
Coordinateur au sein du projet Trad GNU de l'April
Animateur suppléant du groupe de travail Accessibilité de l'April
|
| posté par haroal 13 messages le 26-04-2010 à 23:01 | | Alors, non : le chroot voit, peut déplacer, copier le fichier /bin/sed (lien symbolique vers le programme /tools/bin/sed) ains que voir, déplacer, copier le fichier /tools/bin/sed. Le seul problème est que lorsque je suis dans le chroot, je ne peux plus utiliser ni /bin/sed, ni /tools/bin/sed ce qui m'empêche d'utiliser , entre autre, [I]make mrproper[/I] lors de l'installation des en-têtes Linux.
Pourtant, lorsque je suis connecté en root ou en utilisateur lfs, je peux lancer le lien /bin/sed et le programme /tools/bin/sed : c'est cela qui m'intrigue.
J'espère avoir été suffisamment claire.
PS : les ls fonctionnent et affiche bien le fichier /bin/sed et /tools/bin/sed. Je peux également les voir en utilisant l'interface graphique.
De plus, j'ai vérifié, les droits sont bons et les fichiers sont bien exécutables. |
| posté par Texou 271 messages le 26-04-2010 à 23:07 | | Mais quand t'es chrooté, ls /bin/sed et /bin/file marchent?
_______________________
Texou
Coadministrateur du projet absolinux
Président de l'association traduc.org
Coordinateur du projet Linux From Scratch
Coordinateur au sein du projet Trad GNU de l'April
Animateur suppléant du groupe de travail Accessibilité de l'April
|
|
Aller à la page : 1 2 3 suivante
|