> On Tue, Oct 25, 2011 at 11:37 PM, Roberto De Ioris <[email protected]> > wrote: >> >>> Hi all, >>> >>> In trying to cross-compile uWSGI for an embedded ARM board on an >>> Ubuntu 11.10 host, I ran into this error: >>> >>> [snipped] >>> >>> static int timerfd_create (clockid_t __clock_id, int __flags) { >>> #ifdef __amd64__ >>> return syscall(283, __clock_id, __flags); >>> #elif defined(__i386__) >>> return syscall(322, __clock_id, __flags); >>> #endif >> >> adding a return -1 here shoudl be enough. If you use timer, substitute >> them with rbtimer (they do not require kernel help) > > This fixes the compiler error, as expected. Thanks! > > I'm not currently using the timer decorator, but I might want to in > the future. It looks like ARM has the correct syscalls for timerfd: > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=arch/arm/kernel/calls.S;hb=HEAD > (look around /* 350 */) > > Might it be better to fix this by adding the ARM syscalls? Would a > patch along the following lines work? > > + #elif defined(__arm__) > + return syscall(350, __clock_id, __flags); > > + #elif defined(__arm__) > + return syscall(353, __ufd, __flags, __utmr, __otmr); > > I don't actually know if __arm__ is defined, and I also don't know if > the arguments to all syscalls match across platforms (though I hope > they would). > > If this doesn't seem insane, I'd be happy to test it and submit a real > patch. Otherwise, I have a patch that adds return -1 as suggested that > seems to work, at least on 0.9.9.2. > >
The syscall trick is for old distro not having the sys/timerfd.h header. Can you check if the timerfd.h file is in your /usr/include ? -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
