timerfd_create mit debian Linux Tests auf amd64
Frage
Ich versuche timerfd_create und timerfd_settime unter Debian Linux lenny zu verwenden. Die manpage sagt <sys/timerfd.h>
aufzunehmen. Diese Datei kann nicht auf meinem System befindet. Nach der Debian-Paketsuche der einzigen Pakete mit einem timerfd.h sind die Linux-Kopfzeilen können * Pakete.
Ich habe die Pakete linux-headers-2.6.26-1-amd64 und linux-headers-2.6.26-1-common installiert. Ich versuchte, die /lib/modules/2.6.26-1-amd64/build/include/linux/timerfd.h Datei einschließlich (und ohne <sys/timerfd.h>
). Aber dann habe ich den folgenden Linkfehler:
. Slave.c :( Text + 0x166): undefined reference
auf timerfd_ceate
. Slave.c :( Text + 0x1e5): undefined Verweis auf timerfd_settime
Mein Build Befehl war gcc -o Slave slave.c -L ../ Libs -lcan -lutils -lrt
Die Dose und utils Bibliotheken sind meine eigenen. Nicht von ihnen verwenden oder eine der timerfd_ * Funktionen definieren. Ich habe versucht, -lrt weil timer_create und timer_settimer es brauchen, auch wenn sie nicht in der Manpage. Ein Testprogramm mit timer_create und timer_settimer funktioniert ohne Probleme und wie erwartet.
Welche Pakete muss ich installieren, welche Bibliothek muss ich verknüpfen, und was Include-Dateien benötige ich timerfd_create und timerfd_settimer verwenden.
Danke Edger
Lösung
Die Unterstützung für diese Funktionen ist neu in Linux und glibc, müssen Sie Linux-Kernel 2.6.25 oder besser und glibc 2.8 oder höher.