> $ strace lame -o lame.log
Ce ne serait pas plutôt :
$ strace -o lame.log lame
car dans la commande précédente, je ne sais pas ce que "lame" va faire
du paramètre "-o lame.log"...
> et après le segfault, tu édites le fichier et tu essaies de trouver (à
> la fin généralement) où est le problème (accès impossible à un
> périphrique, droit d'accès, etc.) et tu remontes ici l'erreur dans tous
> les cas si tu as un doutes.
Pour ce type de problème d'accès aux fichiers, j'utilise généralement
la fonction de filtre de "strace" : "-e open" est en général suffisant
pour déterminer quel fichier ne peut pas être ouvert.
De plus, j'utilise aussi le paramètre "-f" qui permet à strace de
surveiller aussi les process fils du programme lancé.
Ainsi, la commande qu'il te faudrait lancer serait plutôt :
$ strace -f -e open -o lame.log lame
A noter que ce log te montera un bon nombre de fichiers que le système
ne trouve pas, mais pour certains ce sera normal. Si par exemple :
- "lame" cherche à ouvrir une librairie "libtoto.so"
- que la libraire se trouve dans "/usr/local/lib/"
- et que le chemin de recherche des librairies (variable
"LD_LIBRARY_PATH" et "/etc/ldconfig") est : /lib:/usr/lib:/usr/local/lib
"strace" dira qu'il ne trouve pas :
/lib/libtoto.so
/usr/lib/libtoto.so
mais qu'il a trouvé :
/usr/local/lib/libtoto.so
Dans ce cas là, le fait que strace n'ai pas trouvé la libraire
"libtoto.so" dans les 2 premiers répertoires n'est pas important. Ce qui
compte, c'est qu'il a finit par la trouver dans le dernier répertoire,
et qu'il l'a chargé.
"strace" est un outil vraiment puissant pour trouver la cause d'un
plantage, même en exploitant très peu de ses possibilités on arrive à
trouver des informations intéressantes. "man strace" pour plus
d'informations ce programme.
> Pour le moment, il est strictement impossible de t'aider en l'état.
>
> PK
Olivier