Le Vendredi 18 Janvier 2002 11:33, vous avez �crit : > ||~~~~~~~~~~~~~ > || 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/spi >r/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/kylix >2/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/loca >l/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
tu veux faire pointer PATH vers une librairies? cette variable sert � positionner les chemins d'acc�s vers les executables. pour une librairie, il faut que le chemin d'acc�s soit dans LD_LIBRARY_PATH. chacun � sa place... si tu veux lancer un programme toto dont les fichiers sont dans /usr/local/toto avec l'executable toto dans /usr/local/toto/bin et les librairies dans /usr/local/toto/lib il faut donc exporter les 2 variables, soient de fa�on permanente dans /etc/profile ou $HOME/.bashrc, soit dans un script destin� � lancer toto. dans ce dernier cas, le script runtoto sera plac� dans un r�pertoire de PATH et devra ressembler � �a: #!/bin/bash #runtoto export PATH=/usr/local/toto/bin:$PATH export LD_LIBRARY_PATH=/usr/local/toto/lib:$LD_LIBRARY_PATH /usr/local/toto/bin/toto pour ne pas avoir � taper ./ devant un executable se trouvant dans le r�pertoire courrant, ajoute seulement un point � PATH export PATH=.:$PATH bye jipe -- Prenez le temps comme il vient, le vent comme il souffle, la femme comme elle est. Alfred De Musset
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"
