[Xenomai] --session= is not a recognized option when using Posix skin

Philippe Gerum rpm at xenomai.org
Fri Oct 6 10:27:48 CEST 2017

On 10/06/2017 03:58 AM, Giulio Moro wrote:
> On Xenomai 3.0.5, if I compile a program with the posix skin and I try to run it with `--session=mySessionName`, it errors as it cannot find the `--session` option. This is strange, because main() is definitely getting wrapped: if I run `--help`, it does show some Xenomai command-line options:
> --main-prio=<prio>		main thread priority
> --print-buffer-size=<bytes>	size of a print relay buffer (16k)
> --print-buffer-count=<num>	number of print relay buffers (4)
> --print-buffer-syncdelay=<ms>	max delay of output synchronization (100 ms)
> --cpu-affinity=<cpu[,cpu]...>	set CPU affinity of threads
> --[no-]sanity			disable/enable sanity checks
> --verbose[=level] 		set verbosity to desired level [=1]
> --silent, --quiet 		same as --verbose=0
> --trace[=level] 		set tracing to desired level [=1]
> --version			get version information
> --dump-config			dump configuration settings
> --help				display help
> When I build a program with the Alchemy skin, then `--session` works just fine, and `--help` displays a number of additional options:
> --alchemy-clock-resolution=<ns> tick value (default 1ns, tickless)
> --mem-pool-size=<size[K|M|G]> 	size of the main heap
> --no-registry			suppress object registration
> --shared-registry		enable public access to registry
> --registry-root=<path>		root path of registry
> --session=<label>[/<group>]	enable shared session
> I am linking with `/usr/xenomai/bin/xeno-config --ldflags --skin=posix`, which gives the following on my system (Beaglebone Black, kernel 4.4.87)
> -Wl,--no-as-needed -Wl,@/usr/xenomai/lib/cobalt.wrappers -Wl,@/usr/xenomai/lib/modechk.wrappers  /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lcobalt -lmodechk -lpthread -lrt

This feature is implemented by the so-called "copperplate" interface
libalchemy depends on. The POSIX API does not depend on copperplate, so
you don't have support for multi-process sessions when linking against
libcobalt exclusively. See there http://xenomai.org/start-here/.


More information about the Xenomai mailing list