IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

GCC n'aime pas #include <linux/sched.h>


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 20
    Points : 15
    Points
    15
    Par défaut GCC n'aime pas #include <linux/sched.h>
    Hello,
    J'essaye d'utiliser l'appel système sys_clone() et pour cela je dois faire un #include <linux/sched.h>. A la compilation, GCC (que ce soit la version 3.3 ou 4.0) me balance des dizaines de lignes du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    In file included from /usr/include/linux/timex.h:58,
                     from /usr/include/linux/sched.h:10,
                     from ftpSession.h:20,
                     from ftpSession.c:10:
    /usr/include/linux/time.h:18: error: redefinition of 'struct timeval'
    /usr/include/linux/time.h:20: error: syntax error before 'suseconds_t'
    In file included from /usr/include/linux/jiffies.h:9,
                     from /usr/include/linux/sched.h:11,
                     from ftpSession.h:20,
                     from ftpSession.c:10:
    /usr/include/asm/div64.h:38: error: syntax error before 'long'
    Je précise car on me l'a déjà demandé qu'il ne s'agit pas de module ou du noyau, c'est dans une application perso.
    Ce qui me parait vraiment étrange c'est que ces erreurs sont dans des bibliothèques. J'imagine qu'elles ont été testées en long, en large et en travers avant d'être distribuée.
    En fouillant sur le web, j'ai trouvé qq posts de gens qui ont eu ce problème, mais pas de solution.
    qq a déjà eu ce problème? qq sait comment le résoudre ?
    Merci pour votre aide

  2. #2
    Membre éclairé Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Points : 693
    Points
    693
    Par défaut
    Peut être qu'un peu de code du fichier ou tu as cet #include peut aider...

  3. #3
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut Re: GCC n'aime pas #include <linux/sched.h>
    Citation Envoyé par gilux
    Je précise car on me l'a déjà demandé qu'il ne s'agit pas de module ou du noyau, c'est dans une application perso.
    Ce qui me parait vraiment étrange c'est que ces erreurs sont dans des bibliothèques. J'imagine qu'elles ont été testées en long, en large et en travers avant d'être distribuée.
    Tout d'abord, ce ne sont pas des bibliothèques, mais des fichiers d'entête (interfaces de la bibliothèque elle-même). Ensuite, ce ne sont pas n'importe quels fichiers d'entête, il s'agit de fonctions du noyau. Ils ne s'utilisent pas à l'arrache, mais exigent des #define préalables (__KERNEL__, MODULE).
    Et c'est là qu'est ton problème... Tu nous dis que tu écris une application perso. Comment se fait-il qu'elle appelle des fonctions du noyau? C'est complétement incorrect, tu casses le modèle en couches sur lequel repose Linux (et la plupart des systèmes d'exploitation modernes). Ton application ne doit appeler que les fonctions de plus haut niveau (comme fork() dans ton cas, je crois).

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Merci pour ton explication DaZumba, je dois avouer que je je ne suis pas familier avec ces choses là, j'étais tombé sur clone() et ca semblait convenir...
    Entre temps j'ai envisagé d'autres solutions mais c quand même pas simple de faire passer des variables entre processus.
    A +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/06/2008, 10h20
  2. [script.aculo.us] Scriptaculous n'aime pas linux ?
    Par webmister62 dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 11/10/2007, 08h30
  3. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo