Pb de liens à la compilation

Résolu
duddy67 -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

J'essaie de compiler un programme mais
j'obtiens l'erreur suivante:

/usr/bin/ld: ne peut trouver -lXft

D'aprés ce que j'ai lu ld serait une sorte de linker.
Comment faire pour le configurer ?
Y a t-il des variables d'environnement à définir ?

Merci

6 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

essaie ça en root
ln -s /usr/lib/libXft.so.2.1.2 /usr/lib/libXft.so
1
aruju Messages postés 2214 Date d'inscription   Statut Contributeur Dernière intervention   403
 
salut,

je crois qu'il te manque une librairie à savoir Xft, je ne sais pas quelle distribution t'utilise mais pour trouver à quel paquet elle appartien tu fais:

avec mandriva:

urpmf Xft


avec debian:
apt-get search Xft


je pense qu'un:

apt-get install libxft-dev 
ou
apt-get install libxft2-devel

devrais faire l'affaire
0
duddy67
 
Voici ce que donne apt-cache depends libxft-dev

libxft-dev
Dépend: libxft2
|Dépend: libc6-dev
Dépend: <libc-dev>
libc6-dev
Dépend: libfontconfig1-dev
Dépend: libfreetype6-dev
Dépend: libx11-dev
Dépend: libxrender-dev
|Dépend: zlib1g-dev
Dépend: <libz-dev>
zlib1g-dev
Pré-Dépend: x11-common
Est en conflit avec: <libxft2-dev>
Est en conflit avec: <xlibs-dev>

J'hésite vraiment à l'installer vu les conflits signalés.
Pourtant le repertoire user/lib/ contient un fichier nommé libXft.so.2.1.2
La version 2 de libXft j'imagine.

J'ai donc modifié -lXft en -lXft2 dans mon makefile (pour tester) et là
j'ai eu le message:

/usr/bin/ld: ne peut trouver -lXft2

Je ne sais pas comment faire pour régler ce pb ?
0
Manu
 
Bonjour,

Quelques causes qui peuvent conduire à l'erreur "/usr/bin/ld: ne peut trouver -lXft2" :

1) la librairie n'est pas installée (je n'insiste pas)
2) elle est mal configurée. ld ne recherche pas des noms à rallonge comme libXft.so.2.1.2, normalement il doit y avoir des liens symboliques de type libXft.so et/ou libXft.so.2 renvoyant vers le fichier effectif.
3) les arguments de ld n'indiquent pas où se trouve le fichier. Une option -l doit être précédée d'une option -L qui donne le répertoire contenant le fichier (/user/lib n'est pas dans les répertoires par défaut, en tout cas pas chez moi).

Manu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
duddy67
 
Merci pour ton aide ;-)
Avec les liens symbolique ça marche maintenant. Je n'ai plus ces messages d'erreur et mon executable est créé.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
De rien ;-)
0