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

Reply via email to