Erreur lors de la compilation en c

Résolu
compilateurc Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
compilateurc Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'essaye de compiler mon code en c sous linux et il me renvoie l'erreur suivante:

/usr/bin/ld: errno: TLS definition in /lib/i386-linux-gnu/libc.so.6 section .tbss mismatches non-TLS reference in /tmp/ccAmLkoJ.o
/lib/i386-linux-gnu/libc.so.6: could not read symbols: Bad value
collect2: ld a retourné 1 code d'état d'exécution

Quel peut être l'origine du problème?
La commande utilisée pour la compilation est belle et bien: gcc programme.c -o programme
Merci d'avance

3 réponses

jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Remplace la ligne extern errno; par un #include <errno.h>
Johan
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
1
compilateurc Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   1
 
Voici le code source en c:

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
extern errno;
int main(void)
{
pid_t pid;
if((pid=fork())==-1)
{
fprintf(stderr,"Le processus s'est terminé avec l'erreur %d",errno);
exit(1);}
printf("Le père et le fils affichent");
if(pid==0)
{
printf("Le fils fonctionne");
}
else
{
printf("Le père fonctionne");
}
return 0;
}
0
compilateurc Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci Johan ça marche parfaitement. #include<errno.h> est pur
0