2008-10-25 16 views
2

J'essaie d'utiliser timerfd_create et timerfd_settime sous Debian Linux lenny. La page de manuel dit d'inclure <sys/timerfd.h>. Ce fichier ne peut pas être situé sur mon système. Selon la recherche de paquets Debian, les seuls paquets avec timerfd.h sont les paquets linux-headers- *.timerfd_create avec les tests debian linux sur amd64

J'ai installé les paquets linux-headers-2.6.26-1-amd64 et linux-headers-2.6.26-1-common. J'ai essayé d'inclure le fichier /lib/modules/2.6.26-1-amd64/build/include/linux/timerfd.h (et non compris <sys/timerfd.h>). Mais je reçois l'erreur de liens suivant:
slave.c :(texte + 0x166):. Undefined reference to timerfd_ceate
slave.c :(texte + 0x1e5):. Undefined reference to timerfd_settime

Ma commande build était gcc -o esclave esclave.c -L ../ libs -lcan -lutils -lrt

Les bibliothèques can et utils sont les miennes. Aucun d'entre eux n'utilise ou ne définit l'une des fonctions timerfd_ *. J'ai essayé -lrt parce que timer_create et timer_settimer en ont besoin, même si ce n'est pas dans la page de manuel. Un programme de test avec timer_create et timer_settimer fonctionne sans problèmes et comme prévu.

De quels paquets ai-je besoin pour installer, de quelle bibliothèque ai-je besoin pour lier, et quels sont les fichiers dont j'ai besoin pour utiliser timerfd_create et timerfd_settimer.

Merci Edger

Répondre

3

Le soutien à ces fonctions est nouveau dans linux et glibc, vous avez besoin du noyau linux 2.6.25 ou mieux et glibc 2.8 ou plus.

+0

Juste comme une note de côté, est tombé sur ce sur google, totalement résolu mon problème, merci! – icco

Questions connexes