Ca fait le deuxieme journal de suite que je poste suite à un léger souci, mais le manuel qui le fait bien ne dit toujours pas tout. Donc, je souhaite compiler un programme qui nécessite ...
Voici les faits:
make[2]: Entre dans le répertoire `/home/pier/archive_applications/grisbi-0.4.3/src'
gcc -g -O2 -Wall -Wunused -o grisbi accueil.o fenetre_principale.o operations_liste.o banque.o fichier_configuration.o operations_onglet.o barre_outils.o fichiers_gestion.o parametres.o categories_onglet.o fichiers_io.o patienter.o comptes_gestion.o comptes_onglet.o gtk_combofix.o qif.o comptes_traitements.o help.o tiers_onglet.o devises.o main.o traitement_variables.o echeancier_formulaire.o menu.o echeancier_liste.o operations_classement.o equilibrage.o operations_comptes.o ventilation.o erreur.o operations_formulaire.o type_operations.o exercice.o imputation_budgetaire.o affichage.o etat_io.o etats_onglet.o etats_config.o etats_calculs.o etats_support.o etats_gtktable.o affichage_liste.o -rdynamic -L/usr/lib -L/usr/X11R6/lib -rdynamic -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -ldl -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -L/usr/lib -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb1 -lglib -rdynamic -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm -L/usr/lib -lglib -L/usr/lib -lxml -lz -rdynamic -L/usr/lib -L/usr/X11R6/lib -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm
/usr/bin/ld: cannot find -lesd
collect2: ld returned 1 exit status
make[2]: *** [grisbi] Erreur 1
make[2]: Quitte le répertoire `/home/pier/archive_applications/grisbi-0.4.3/src'
make[1]: *** [all-recursive] Erreur 1
make[1]: Quitte le répertoire `/home/pier/archive_applications/grisbi-0.4.3'
make: *** [all-recursive-am] Erreur 2
MAIS
[root@localhost pier]# /sbin/ldconfig -p | grep esd
libesddsp.so.0 (libc6) => /usr/lib/libesddsp.so.0
libesddsp.so (libc6) => /usr/lib/libesddsp.so
libesd.so.0 (libc6) => /usr/lib/libesd.so.0
J'en appelle donc à la divination de certains pour m'expliquer ce phénoméne qui me parit pour le moins étrange.
Merci d'avance
# Re: ld se paye ma tronche !
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
[^] # Re: ld se paye ma tronche !
Posté par capparis . Évalué à 0.
Si j'ai bien compris l'option -lesd lui dit de chercher libesd.so et étant donné qu'il sait où il se trouve et qu'il est effectivement présent , je sèche.
En tout état de cause je vais installer,si je le touve , un paquet de développement pour cette library, mais aurait-il de bonnes raisons de contenir autre chose que des fichiers d'en-tête ?
[^] # Re: ld se paye ma tronche !
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
[^] # Re: ld se paye ma tronche !
Posté par capparis . Évalué à 0.
[pier@localhost grisbi-0.4.3]$ ll /usr/lib/libesd.so*
lrwxrwxrwx 1 root root 16 mar 24 2003 /usr/lib/libesd.so.0 -> libesd.so.0.2.24
-rwxr-xr-x 1 root root 31514 mar 1 2002 /usr/lib/libesd.so.0.2.24
[pier@localhost grisbi-0.4.3]$ file /usr/lib/libesd.so.0.2.24
/usr/lib/libesd.so.0.2.24: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
Par contre est-ce possible que ldconfig n'est vu que le lien est pas le .so véritable ?
De plus, je n'ai pas de paquet de dev sur mes CDs et sur RPMfind je n'ai trouvé que des paquets pour Mandrake Cooker...Je suis un peu embêté.
[^] # Re: ld se paye ma tronche !
Posté par chl (site web personnel) . Évalué à 2.
Nan tu l'as pas regarde :
[pier@localhost grisbi-0.4.3]$ ll /usr/lib/libesd.so
ls: /usr/lib/libesd.so: No such file or directory
Achete toi des lunettes :)
[^] # Re: ld se paye ma tronche !
Posté par Bruno Muller . Évalué à 1.
Donc, 'apt-get install libesd0-dev' si tu es sous Debian.
# Re: ld se paye ma tronche !
Posté par capparis . Évalué à 1.
libesd.so fait partie de esound
esound-devel à rajouté un lien /usr/lib/libesd.so qui est je l'admets trés different de /usr/lib/libesd.so.0 mais qui n'en pointe pas moins sur /usr/lib/libesd.so.0.2.24 qui était déjà présent ?
avant cela j'avais compilé quand même en appelant gcc en virant -lesd
je n'ai pas de carte son !
ps:j'ai vu à cette occasion qu'en virant tous les -lesd de gnomeConf.sh, gnome-config l'indique tout de même.
[^] # Re: ld se paye ma tronche !
Posté par Vivi (site web personnel) . Évalué à 2.
1° le "vrai" fichier, par ex. /usr/lib/libesd.so.0.2.31
2° ce fichier contient dans le bazar elf une entrée SONAME : libesd.so.0 c'est ce nom qui est enregistré comme dépendance et qui est cherché par le linker dynamique (et par ldd)
3° lors de la compilation, quand tu indiques -lesd, il cherche libesd.so
On pourrait trés bien avoir un fichier libtrululu avec un soname libmachin et qui se linkerait avec -lplop.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.