On 02/04/2015 12:07 PM, Huy Cong Vu wrote: > > > ----- Mail original ----- >> De: "Philippe Gerum" <[email protected]> >> À: "Huy Cong Vu" <[email protected]>, [email protected] >> Envoyé: Mercredi 4 Février 2015 10:13:14 >> Objet: Re: [Xenomai] Xenomai 3 - no skin detected in program > >> On 02/04/2015 09:55 AM, Huy Cong Vu wrote: >>> Hello everyone, >>> I recently try to run an application compiled in native skin of Xenomai 3. >>> When >>> trying to run the binary, these line appeared: >>> WARNING: [main] no skin detected in program >>> BUG: [main] initialization failed, EINVAL >>> I know that this is a cooperplate_init() warning when trying to initialize >>> native skin, but I don't understand the reason why: >>> if (pvlist_empty(&skins)){ >>> warning("no skin detected in program"); >>> ret = -EINVAL; >>> goto fail; >>> } >> >> It seems that your application was not linked against libalchemy.so. >> When API libraries are properly linked in, internal constructor routines >> populate this list. POSIX support is built-in within the Cobalt >> interface, so it won't appear here though. >> >> You may want to check this with ldd. >> > > Indeed, I'm working on the linking option to find out why, it seems that > -ffunctions-sections and -Wl,--gc-sections hides the -lalchemy flag so I > removed it. > >>> In my main(), there are still native API calls: >>> rt_print_auto_init(1); >>> rt_task_spawn(...); >>> rt_task_join(...); >>> rt_task_delete(...); >>> with mlockall also just to make sure, even I know that is pre-initialize >>> since >>> Xenomai 2.6. >>> I have xenomai-3-next patched on linux-3.14.17, here are my compilation >>> flags: >>> cflags: >>> xeno-config --alchemy --cflags >>> xeno-config --rtdm --cflags >>> ldflags: >>> xeno-config --alchemy --ldflags >>> xeno-config --rtdm --ldflags >> >> You should not mention --rtdm for userland apps, this is useless for >> Xenomai 3. This has been kept for compatibility purpose with existing >> application Makefiles targeting Xenomai 2.x. >> > > But what if one of my static library calls from rtdm? Which flags should I > add then if I can't use xeno-config --rtdm anymore? >
None, it's available as a built-in feature of the POSIX API over cobalt. -- Philippe. _______________________________________________ Xenomai mailing list [email protected] http://www.xenomai.org/mailman/listinfo/xenomai
