||~~~~~~~~~~~~~
|| gwe dixit : 
[...]
|| P.S. : Y aurais pas quelqu'un qui auraient des questions interressantes
|| sur le sujet histoire de me rassurer parce que la le doute me prend
|| "suis je sur la liste de rigolez.com ou celle de linux-debutant ??"

Je vais tenter très prétentieusement de satisfaire ta demande :

tout d'abord, merci pour toutes les réponses concernant la modif de variables 
d'environnement. Mais le pb est tjrs là... Lorsque je tente de lancer 
l'exécutable TestCat, voici le message de retour :
[spir@localhost CatFontes]$ ./TestCat
./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so: 
cannot open shared object file: No such file or directory

Voici le PATH actuel :
[spir@localhost CatFontes]$ echo $PATH
/usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/home/spir/bin:/usr/local/kylix2/bin:/usr/local/kylix2/lib

Or libqtintf-6.5-qt2.3.so se trouve dans /usr/local/kylix2/bin, 
[root@localhost CatFontes]# slocate libqtintf
/usr/local/kylix2/bin/libqtintf-6.5.0-qt2.3.so
/usr/local/kylix2/bin/libqtintf-6.5-qt2.3.so
Pourquoi le shell ne trouve-t-il pas la librairie en question ?


Vous avez peut-être noté que pour le slocate j'ai dû passer en root, vu que 
le dossier /usr/local/kylix2 est propriété de root. Donc je me suis dit que 
j'allais essayer de lancer TestCat  en tant que root, en ayant au préalable 
mis le chemin en question dans le PATH de root (et redémarré, pour être sûr 
que le nouveau PATh soit actif). Voici donc le contenu de /root/bash_profile :
[root@localhost CatFontes]# cat /root/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
mesg n
PATH=$PATH:/usr/local/kylix2/bin:/usr/local/kylix2/lib
export PATH

Et voici le PATH sous root après reboot :
[root@localhost CatFontes]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin

Là, je pige plus ! Il semble que le bash_profile de root ne soit pas pris en 
compte. Le résultat est que je ne peux pas non plus lancer TestCat en tant 
que root, même résultat que sous l'utilisateur lambda :
[root@localhost CatFontes]# ./TestCat
./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so: 
cannot open shared object file: No such file or directory

Du coup, j'ai décidé d'employer le marteau-piqueur et de modifier carrément 
/etc/profile, bien que ce soit pas la bonne méthode, vu que seul 
l'utilisateur 'spir' a besoin que les chemins des librairies de kylix2 soient 
dans son PATH. Voici donc la fin du nouveau /etc/profile :
# Mandrake-Security : if you remove this comment, remove the next line too.
PATH=$PATH:/usr/X11R6/bin:/usr/games:/usr/local/kylix2/bin:/usr/local/kylix2/lib
# Mandrake-Security : if you remove this comment, remove the next line too.
export PATH

Voici le résultat après reboot :
[spir@localhost spir]$ echo $PATH
/usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/usr/local/kylix2/bin:/usr/local/kylix2/lib:/home/spir/bin:/usr/local/kylix2/bin:/usr/local/kylix2/lib
[spir@localhost spir]$ su
Password: 
[root@localhost spir]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
[root@localhost spir]# 

Le PATH de 'spir' contient les dossiers ajoutés en double (logique !), mais 
celui de root ne les contient pas du tout !!


Donc, je me suis dit qu'au lieu de lancer mes exécutables en root, j'allais 
chercher pourquoi 'spir' ne peut accéder aux dossiers de librairies bien 
qu'ils soient dans son PATH. Les permissions sont les suivantes :
[root@localhost kylix2]# ls -ld bin
drwxr-xr-x    2 root     root         4096 jan 10 00:37 bin/
Logiquement, vu que le flag 'x' est positionné, 'spir' accéder au librairies 
contenuses dans ces dossiers, non ? Sinon à quoi sert ce bit ? Je vais quand 
même permettre aux 'others' de lire et écrire les fichiers de ces dossiers. 
Après application de chmod, voici le résultat :
[root@localhost kylix2]# ls -ld bin
drwxr-xrwx    2 root     root         4096 jan 10 00:37 bin/

D'où, je repasse en mode utilisateur lambda pour tenter à nouveau de lancer 
mon prog TestCat :
[spir@localhost CatFontes]$ ./TestCat
./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so: 
cannot open shared object file: No such file or directory

Là, je laisse béton... ?
A vot' bon coeur !

denis

PS : question subsidiare : peut-on indiquer dans le PATH un dossier et tous 
ses sous-dossiers, évidemment sans les nommer explicitement ? en fait, c'est 
pour lancer mes essais de prog depuis la ligne de commande ou la fenêtre 
"lancer" sans avoir à indiquer le chemin, ni me positionner dans le dossier 
de l'exécutable, ni écrire "./".
denis le feignant qu'aime pas trop perdre son temps


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à