Hi, I am porting an old RTNet / RTAI (3.8.1) application to latest xenomai (currently using git master). For this I chose the alchemy skin, and to make it as close as possible to the old API, I am also trying to enable the --compat transition kit. However, rt_task_set_periodic() disappears as soon as I add --compat. I am not sure whether it is an include file / macro bug or if I am not using it correctly, so I hope you can give me a hint.
xenomai was built from git master, with --configure --with-core=cobalt and installed. $ xeno-config --skin=alchemy --compat --cflags -I/usr/xenomai/include/trank -D__XENO_COMPAT__ -I/usr/xenomai/include/cobalt -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy Here is a small compile test program: $ cat xeno_compat_test.c #include <alchemy/task.h> void test(void) { rt_task_set_periodic(NULL, TM_NOW, 0); } Using only --alchemy works fine: $ gcc -c xeno_compat_test.c $(xeno-config --skin=alchemy --cflags) $ However, with --compat it fails: $ gcc -c xeno_compat_test.c $(xeno-config --skin=alchemy --compat --cflags) xeno_compat_test.c: In function ‘test’: xeno_compat_test.c:6:3: warning: implicit declaration of function ‘rt_task_set_periodic’; did you mean ‘rt_task_set_priority’? [-Wimplicit-function-declaration] rt_task_set_periodic(NULL, TM_NOW, 0); ^~~~~~~~~~~~~~~~~~~~ rt_task_set_priority Using --skin=native gives the same result as --compat. I found out that I can use __current_rt_task_set_periodic() to force the use of the "new" function, but I could't get something like __compat_rt_task_set_periodic() to work. Best regards, Tormod