Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

undefined reference to _kill, _getpid and _sbrk



  1. #1
    sebastien-begue

    undefined reference to _kill, _getpid and _sbrk

    Bonjour à tous !

    Je suis ici car je n'arrive pas à resoudre mon problème : en faite je suis en train de créer un projet C sur eclipse CDT C/C++ IDE, avec le compilateur arm-none-eabi-gcc ( c'est pour une carte embarquée STM32 ), et j'ai implémenté polarSSL pour avoir un serveur embarqué qui gère le https.

    Donc j'ai biensûr regardé les forums à propos de ces erreurs, et ils expliquent qu'il faut supprimer les "printf", "malloc", "file", "path" car en effet je suis sur un embarqué et ça ne gère pas ça ( d'autant plus que sur eclipse j'ai pas de terminal ) ; MAIS après avoir effectué/supprimé tout tout ça, j'ai encore et toujours ces erreurs... pensez-vous pouvoir m'aider afin de résoudre mon problème s'il vous plait ?

    Merci d'avance pour vos réponses.

    (je vous mets aussi ci-dessus un impr écran de mes erreurs ).

    erreur.jpg


    Cordialement,
    Sébastien.

    -----


  2. Publicité
  3. #2
    gienas

    Re : undefined reference to _kill, _getpid and _sbrk

    Bonjour sebastien-begue et tout le groupe

    Citation Envoyé par sebastien-begue Voir le message
    ... problème ... projet C sur eclipse CDT C/C++ IDE, avec le compilateur ...
    Bien sûr, c'est du logiciel, mais il me semble que les spécialistes habitués à ton problème seront plus nombreux sur le forum d'électronique.

    Je vais l'y déplacer. Si je me trompe, il sera toujours temps de changer.


    Ta liste d'erreurs est difficile à lire. Pourtant, elle peut donner des indices précieux. S'agissant de texte pur, il serait préférable de la redonner en ASCII, avec la balise code

    Code:
    Liste des erreurs ...

  4. #3
    sebastien-begue

    Re : undefined reference to _kill, _getpid and _sbrk

    Re-bonjour !

    Merci d'abord pour ce geste gienas !

    Alors voilà les erreurs que j'ai avec une meilleure clarté :

    Code:
    c:/program files/aim/uone/tools/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/armv7-m/libc.a(lib_a-signalr.o): In function '_kill_r' : signalr.c:(.text._kill_r+0xe): undefined reference to '_kill'
    c:/program files/aim/uone/tools/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/armv7-m/libc.a(lib_a-signalr.o): In function '_getpid_r' : signalr.c:(.text._kill_r+0xe): undefined reference to '_getpid'
    c:/program files/aim/uone/tools/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/armv7-m/libc.a(lib_a-signalr.o): In function '_sbrk_r' : signalr.c:(.text._kill_r+0xe): undefined reference to '_sbrk'
    Des idées alors s'il vous plait ?


    Cordialement,
    Sébastien.

  5. #4
    Yoruk

    Re : undefined reference to _kill, _getpid and _sbrk

    Manque une librairie ?
    La robotique, c'est fantastique !

  6. #5
    sebastien-begue

    Re : undefined reference to _kill, _getpid and _sbrk

    Ben justement je ne veux pas utiliser la librairie associées aux fonctions _kill, _getpid et _sbrk, qui a ce que j'ai vu sur internet étaient des fonctions qui étaient appelés en interne par l'utilisation de fonctions comme printf(), malloc(), etc... OR je les ai tous enlevés de mes codes source !! donc je suis en quête d'une autre explication... car là je ne vois pas qu'est ce qui appelle ces fonctions...

    Merci de ta réponse.


    Cordialement,
    Sébastien.

  7. A voir en vidéo sur Futura
  8. #6
    Yoruk

    Re : undefined reference to _kill, _getpid and _sbrk

    Il reste sans doute une fonction dans ton code qui les appelle...

    Pourquoi tu ne veux pas inclure les librairies concernées ?
    La robotique, c'est fantastique !

  9. Publicité
  10. #7
    spown

    Re : undefined reference to _kill, _getpid and _sbrk

    Bonjour/bonsoir est Bienvenue sur FUTURA,

    Ton problème, c'est ton Linker ne trouves pas les librairies.

    Je vois que tu utilises la version 4.6 du ARM GNU GCC , mieux de passer sur la dernière version(4.8) ==> https://launchpad.net/gcc-arm-embedded/+download ( dépend de ton OS )

    prend ce fichier associé le : http://myavr.chkronline.de/html_stm3...pse_tut10.html

  11. #8
    ftorama

    Re : undefined reference to _kill, _getpid and _sbrk

    J'ai l'impression que tu t'embrouilles entre librairies, fonctions standards du C, fonctions du C++ et fonctions d'un OS multi-tâches...

    Kill et getpid, c'est lié à la gestion de process dans un OS multitâches, printf, c'est simplement écrire sur un flux de sortie et c'est pleinement géré par du C....

    File et path, ça va être lié à un système de gestion de fichiers.

    Rien ne t'empêche d'avoir toutes ces fonctions sur un STM32 et même de le programmer en C++ mais encore faut-il utiliser les bonnes librairies et les bons middlewares. Une appli PC ne se porte pas si simplement sur un micro, mais beaucoup de choses sont possibles avec ces micros.
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  12. #9
    sebastien-begue

    Re : undefined reference to _kill, _getpid and _sbrk

    Merci d'abord pour vos réponses !

    spown, je ne peux pas utiliser syscalls.c car je suis sur windows 7 ... désolé j'ai oublié de préciser mon OS, chose essentielle !

    ...Et les kill et getpid sont dediés aux librairies linux, donc je ne peux pas les rajouter, non ??


    Cordialement,
    Sébastien.

  13. #10
    spown

    Re : undefined reference to _kill, _getpid and _sbrk

    Tiens, suis les étapes dans ce lien ==> http://www.acmesystems.it/foxg20_eclipse_windows_c ( tu dois remplacer ton GCC par celui là https://sourcery.mentor.com/sgpp/lit...al/release2029 )

  14. #11
    spown

    Re : undefined reference to _kill, _getpid and _sbrk


  15. #12
    freepicbasic

    Re : undefined reference to _kill, _getpid and _sbrk

    Ton compilateur te dis que tu fais appel a des ou une fonction dans "signal.o" qui fait appel à des fonctions qui sont dans d'autres librairies

    Si tu veux continuer avec ta méthode , c est a dire sans linker ces fameuses librairies , et conserver ces fonctions,
    Il faudra extraire les .O demandés de ces librairies "exclus" et linker tout les .O avec ton prog
    avec un prog du genre lib (Microsoft) tlib (Borland) ou glib (GNU) selon le compilateur.

    En espérant que ces .O n'ont pas d'autres liens eux aussi...
    si non même opération , voir si c est rentable dans ce cas.

    D'ailleurs il est possible que la fonction dans signal.o ne soit même pas utilisée, ce qui serait un comble. LOL
    Dans ce cas il faudrait la supprimer de la lib
    Dernière modification par freepicbasic ; 26/03/2014 à 17h33.
    A+, pat

  16. Publicité
  17. #13
    ftorama

    Re : undefined reference to _kill, _getpid and _sbrk

    Citation Envoyé par sebastien-begue Voir le message
    ...Et les kill et getpid sont dediés aux librairies linux, donc je ne peux pas les rajouter, non ??
    Tous les autres OS seront contents de l'apprendre. Bref ce sont des fonctions standards d'un système multitâche et tu retrouveras ces fonctions ou leur équivalent dans des OS portales sur le STM32 comme FreeRTOS, UCLinux.

    Porter un soft pour Linux sur un micro me paraît légèrement scabreux d'autant que les solutions SSL sur STM32 ne manquent pas. Il suffit de chercher dans cette doc pour s'en convaincre:
    http://www.st.com/st-web-ui/static/a..._solutions.pdf
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  18. #14
    sebastien-begue

    Re : undefined reference to _kill, _getpid and _sbrk

    Bonsoir !

    Merci d'abord pour tous ces conseils !

    Je regarderai le .o demain matin et je reviendrai ici par la suite si un problème persiste toujours ! car en effet, j'aimerai ne pas avoir à passer par un changement d'outil de debug... ( aussi je trouve bizarre qu'il y a un appel système à _sbrk car j'ai supprimé tous les malloc() et simplement mis des memset(), et surtout vérifié plusieurs fois ... )

    ...En tout cas s'il faudra que je passe par là, j'aimerai savoir si ces outils de debogage rajoute des fichiers genre va me prendre de la flash côté micro ou tout reste côté PC ? car en effet je pense que ça va être risqué à ce niveau là... non ?

    Cordialement,
    Sébastien.

Sur le même thème :

Discussions similaires

  1. (PHP) Problème Notice: Undefined index
    Par ycouton dans le forum Programmation et langages, Algorithmique
    Réponses: 10
    Dernier message: 25/03/2014, 17h06
  2. The value of the property '$' is null or undefined, not a Function object
    Par voynich dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 22/02/2012, 21h06
  3. Undefined function or method 'eml_assert' for input arguments of type 'char'!
    Par aydi dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 05/02/2011, 19h37
  4. Notice: Undefined variable: _post in C:\wamp\www\traitement1.php on line 3
    Par ced99 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 16/02/2010, 11h14
  5. Notice: Undefined variable
    Par Smerek dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 16/10/2006, 16h21