Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
un ptit probleme lors de la compilation
Envoyé par: silversurfer


salut

lorsque je tente de compiler un programme en c , je rencontre un probleme , j ai donc fait ceci

gcc -o crypt -g -Wall crypt.c

le programme se nomme crypt ( c est pour un challenge)

le resultat est le suivant

crypt.c: In function ‘main’:
crypt.c:39: warning: pointer targets in passing argument 3 of ‘BF_set_key’ differ in signedness
/var/tmp/cckVLS0H.o: In function `main':
/home/seb/Import/crypt.c:39: référence indéfinie vers « BF_set_key »
/home/seb/Import/crypt.c:44: référence indéfinie vers « BF_ecb_encrypt »
collect2: ld returned 1 exit status

je ne suis pas plus avance , si quelqu un a une idee.

merci



Poste le Thursday 14 December 2006 15:54:16
Répondre     Citer    
Re: un ptit probleme lors de la compilation

Citation
silversurfer
j ai donc fait ceci
gcc -o crypt -g -Wall crypt.c

A mon avis il manque quelque-chose à cette commande. D'où la sors tu? Si tu as un Makefile, utilise la commande make.


Citation
silversurfer
le resultat est le suivant
crypt.c: In function ‘main’:
crypt.c:39: warning: pointer targets in passing argument 3 of ‘BF_set_key’ differ in signedness

Tu devrais ouvrir ce fichier crypt.c avec un éditeur (emacs par exemple) et modifier la ligne 39 de ce fichier. Peut-être ajouter un cast (const unsigned char *) au troisième argument.

Citation
silversurfer
/var/tmp/cckVLS0H.o: In function `main':
/home/seb/Import/crypt.c:39: référence indéfinie vers « BF_set_key »
/home/seb/Import/crypt.c:44: référence indéfinie vers « BF_ecb_encrypt »
Je n'y comprends rien

Si, le compilateur t'indique que tu références une fonction BF_set_key qui n'est pas définie, donc est inconnue.

Je n'ai jamais utilisé cette fonction, mais avec Google sur BF_set_key je suis tombé sur [developer.apple.com]
[www.die.net]
[www.codase.com]
[www.penguin-soft.com] etc... qui évoquent tous la librarie openssl. En cherchant dans /usr/lib par la boucle shell
% for l in /usr/lib/lib*.so ; do
if (nm -D $l |grep  BF_set_key); then ls -l $l; fi
done

je trouve bien
% nm -D /usr/lib/libcrypto.so|grep BF_set_key
0000000000081b90 T BF_set_key
et je t'invite donc à compiler avec
gcc -o crypt -g -O -Wall crypt.c -lcrypto -o crypt
mais j'ignore si ça marche (il faut peut-être ajouter -lssl dans ta commande de compilation.)



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 14 December 2006 20:52:49
Répondre     Citer    
Re: un ptit probleme lors de la compilation

Il y a une erreur dans ma commande, je voulais suggérer
gcc -o crypt -g -O -Wall crypt.c -lcrypto 
ou peut-être
gcc -o crypt -g -O -Wall crypt.c -lcrypto -lssl
mais tu auras corrigé de toi-même.


Au fait, pourquoi compiles tu ce programme?

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 14 December 2006 20:57:46
Répondre     Citer    
Re: un ptit probleme lors de la compilation
Envoyé par: silversurfer

oki , merci basile .

le probleme doit venir d openssl je pense ( je verifierai)

je compile le programme pour realiser un challenge sur newffr ( en bref , t as 2

fichiers crypt.c et crypt.xxx , le but est de recuperer une cle de session dans

crypt.xxx)

voici l adresse :

[www.newffr.com]

je connais pas grand chose en crypto , je debute en prog , je fais des challenges pour m ameliorer et pour comprendre.

voila

Poste le Thursday 14 December 2006 21:11:20
Répondre     Citer    
Re: un ptit probleme lors de la compilation
Envoyé par: silversurfer


le probleme vient bien de la ligne 39

gcc -o crypt -g -O -Wall crypt.c -lcrypto
crypt.c: In function ‘main’:
crypt.c:39: warning: pointer targets in passing argument 3 of ‘BF_set_key’ differ in signedness

gcc -o crypt -g -O -Wall crypt.c -lcrypto -lssl
crypt.c: In function ‘main’:
crypt.c:39: warning: pointer targets in passing argument 3 of ‘BF_set_key’ differ in signedness

je vais voir ca avec la personne qui a fait le script , et potasser quelques bouquins

thx


Poste le Thursday 14 December 2006 21:31:40
Répondre     Citer    
Re: un ptit probleme lors de la compilation

Mais ce n'est qu'un warning (avertissement), pas une erreur. Tu pourrais ne pas trop en tenir compte. Toutefois, si tu étudies l'informatique, je t'invite quand tu codes un projet (et plus tard dans ta vie professionnelle) à corriger les programmes sources pour qu'ils ne donnent plus aucun warning.

D'ailleurs en ce moment je suis payé à travailler pour améliorer les warnings de GCC.



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 14 December 2006 21:40:54
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
un ptit probleme lors de la compilation
Aide sur les distributions Debian, Ubuntu et leurs dérivées : Mepis, Mint, Knoppix, Kubuntu, Lubuntu, Xandros

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons