build machinekit issue: xeno-config: command not found

480 views
Skip to first unread message

euerka

unread,
Aug 23, 2015, 9:06:25 AM8/23/15
to Machinekit
Dear all,

I am trying to build machinekit in Ubuntu 14.04 , kernel 3.14.0 with xenomai.
I got configure error as follow:
./configure --with-posix --with-xenomai --with-rt-preempt --with-platform-pc
checking
for cython... /usr/bin/cython
checking cython version
... 0.20.1post0
checking build toplevel
... /home/euerka/linuxcnc/machinekit
checking installation prefix
... run in place
checking
for grep... /bin/grep
checking
for egrep... /bin/egrep
checking
for arch... /usr/bin/arch
checking
for gcc... gcc
checking whether the C compiler works
... yes
checking
for C compiler default output file name... a.out
checking
for suffix of executables...
checking whether we are cross compiling
... no
checking
for suffix of object files... o
checking whether we are
using the GNU C compiler... yes
checking whether gcc accepts
-g... yes
checking
for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor
... gcc -E
checking
for objcopy... objcopy
checking
for ld... ld
checking build system type
... i686-pc-linux-gnu
checking host system type
... i686-pc-linux-gnu
checking
for pkg-config... pkg-config
checking platform
-pc... enabled on command line
checking platform
-beaglebone... disabled for this architecture
checking platform
-raspberry... disabled for this architecture
checking platform
-zedboard... disabled for this architecture
checking
for uuidgen... /usr/bin/uuidgen
setting unique
Machinekit UUID to 613be1f3-d7a3-47ff-a5b8-71073073b1da
checking whether to enable remote operation
... local operation on IPC sockets only, zeroconf not used
checking which directory to
use for IPC sockets and other transient files... using /tmp for IPC sockets and other transient files
checking whether to build programming examples
... not building example programs
checking
for proto2js... none
checking whether to build protobuf
Javascript bindings... not protobuf Javascript bindings
checking whether to
use the common shared memory driver... default is no
checking whether to
use inb/outb or ppdev ioctl on the x86 for parport I/O... using defaults: no
checking whether to build the emcweb
interface... not building the emcweb interface
checking whether to build unstable development code
... not building  development code
checking pkg
-config is at least version 0.9.0... yes
checking
for CZMQ... yes
checking
for PROTOBUF... yes
checking
for protoc... /usr/bin/protoc
checking python
module: google.protobuf.descriptor... yes
checking python
module: google.protobuf.descriptor_pb2... yes
checking python
module: google.protobuf.compiler.plugin_pb2... yes
checking
for JANSSON... yes
checking
for URIPARSER... yes
checking
for LWS... yes
checking
for SSL... yes
checking
for UUID... yes
checking
for AVAHI... yes
checking whether to enable NML
-using parts... not building non-essential NML-using parts
checking python
module: pyftpdlib.authorizers... yes
checking python
module: pyftpdlib.handlers... yes
checking python
module: pyftpdlib.servers... yes
checking
for configured kernel source in /usr/src/linux-headers-3.16.0-30... not found
checking
for configured kernel source in /usr/src/linux-headers-3.16.0-30-generic... found
checking
if /usr/src/linux-headers-3.16.0-30-generic is a xenomai kernel... no
checking
if /usr/src/linux-headers-3.16.0-30-generic is an RTAI kernel... no
checking
for configured kernel source in /home/euerka/linuxcnc/linux-kernel... found
checking
if /home/euerka/linuxcnc/linux-kernel is a xenomai kernel... yes
checking
if /home/euerka/linuxcnc/linux-kernel is an RTAI kernel... no
checking
-lrt for RT_PREEMPT and POSIX... ok
checking whether to build POSIX threads
... yes
checking whether to build RT_PREEMPT threads
... yes
checking for xeno-config... /usr/xenomai/bin/xeno-config
checking usability of xenomai utility
, /usr/xenomai/bin/xeno-config... ./configure: line 6827: xeno-config: command not found

skin
not set, please pass --skin before --cflags
skin
not set, please pass --skin before --cflags
skin
not set, please pass --skin before --cflags
checking
for rt_task_create in -l... no
checking
for grep that handles long lines and -e... (cached) /bin/grep
checking
for egrep... (cached) /bin/egrep
checking
for ANSI C header files... yes
checking
for sys/types.h... yes
checking
for sys/stat.h... yes
checking
for stdlib.h... yes
checking
for string.h... yes
checking
for memory.h... yes
checking
for strings.h... yes
checking
for inttypes.h... yes
checking
for stdint.h... yes
checking
for unistd.h... yes
checking
/task.h usability... no
checking
/task.h presence... no
checking
for /task.h... no
checking whether to build Xenomai userland threads... configure: error: Requested '--with-xenomai', but unable to configure


I attached config.log also. I check xeno-config is in the directory /usr/xenomai/bin . If I run /usr/xenomai/xeno-config --v
 /usr/xenomai/bin/xeno-config --v
xeno
-config --verbose
       
--version="2.6.4"
       
--cc="gcc"
       
--arch="x86"
       
--prefix="/usr/xenomai"
       
--xeno-cflags="-I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -D__XENO__"
       
--xeno-ldflags="-L/usr/xenomai/lib -lxenomai -lpthread -lrt "
       
--posix-cflags=""
       
--posix-ldflags="-Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib -lpthread_rt -lxenomai -lpthread -lrt "
       
--library-dir="/usr/xenomai/lib"


I think it is OK. I am appreciated you have any ideas?

--chengxi

config.log

Michael Haberler

unread,
Aug 23, 2015, 9:14:07 AM8/23/15
to euerka, Machinekit
> with xenomai.

Please follow this procedure: https://github.com/machinekit/machinekit-docs/blob/master/machinekit-documentation/getting-help.asciidoc

Since you are obviously using a Xenomai3 kernel, please also read: https://github.com/machinekit/machinekit/issues/598
> --
> website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
> ---
> You received this message because you are subscribed to the Google Groups "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
> Visit this group at http://groups.google.com/group/machinekit.
> For more options, visit https://groups.google.com/d/optout.
> <config.log>

Michael Haberler

unread,
Aug 23, 2015, 11:57:05 AM8/23/15
to euerka, Machinekit

> Am 23.08.2015 um 15:14 schrieb Michael Haberler <mai...@mah.priv.at>:
>
>> with xenomai.
>
> Please follow this procedure: https://github.com/machinekit/machinekit-docs/blob/master/machinekit-documentation/getting-help.asciidoc
>
> Since you are obviously using a Xenomai3 kernel, please also read: https://github.com/machinekit/machinekit/issues/598

sorry, I overlooked the xeno-config output at the end, my bad

what does 'dmegs|grep Xenomai' say?

Michael Haberler

unread,
Aug 23, 2015, 12:04:16 PM8/23/15
to euerka, Machinekit
Where did you get the Xenomai userland library from?

see the config.log - the output of /usr/xenomai/bin/xeno-config obviously fails to produce flags as expected by configure, see

configure:6902: gcc -o conftest -g -O2 conftest.c -l >&5
-------------------------------------------------------^^^ missing args here



that said: is there any compelling reason to use Ubuntu, which there is no support for except your own?

Patches are welcome, but there is no concerted effort to support Ubuntu, and there were strong reasons to leave it behind

Suggestion: use Debian wheezy as recommended

-m




> Am 23.08.2015 um 15:06 schrieb euerka <crazyin...@gmail.com>:
>

陈成细

unread,
Aug 24, 2015, 8:57:05 AM8/24/15
to Michael Haberler, Machinekit
Sorry for late reply.
~$ dmesg|grep Xenomai
[    4.869922] I-pipe: head domain Xenomai registered.
[    4.869975] Xenomai: hal/i386 started.
[    4.870016] Xenomai: scheduling class idle registered.
[    4.870019] Xenomai: scheduling class rt registered.
[    4.872493] Xenomai: real-time nucleus v2.6.4 (Jumpin' Out) loaded.
[    4.872498] Xenomai: debug mode enabled.
[    4.872632] Xenomai: SMI-enabled chipset found, but SMI workaround disabled
[    4.872684] Xenomai: starting native API services.
[    4.872687] Xenomai: starting POSIX services.
[    4.872724] Xenomai: starting RTDM services.


Where did you get the Xenomai userland library from?

I build from source code, xenomai-2.6.4

see the config.log - the output of /usr/xenomai/bin/xeno-config obviously fails to produce flags as expected by configure, see

configure:6902: gcc -o conftest -g -O2     conftest.c -l    >&5
------------------------------
-------------------------^^^ missing args here

Yes, you are right. But I am not sure how to pass this args in.


that said: is there any compelling reason to use Ubuntu, which there is no support for except your own?

No, I build the whole system from scratch with you Michael and Robert Nelson's help. 

Patches are welcome, but there is no concerted effort to support Ubuntu, and there were strong reasons to leave it behind

Suggestion: use Debian wheezy as recommended

I am trying Debian wheezy before, but it always got one error: The system run in low graphic.

-m



Michael Haberler

unread,
Aug 24, 2015, 2:06:16 PM8/24/15
to 陈成细, Machinekit

> Am 24.08.2015 um 14:57 schrieb 陈成细 <crazyin...@gmail.com>:
>
> Sorry for late reply.
> ~$ dmesg|grep Xenomai
> [ 4.869922] I-pipe: head domain Xenomai registered.
> [ 4.869975] Xenomai: hal/i386 started.
> [ 4.870016] Xenomai: scheduling class idle registered.
> [ 4.870019] Xenomai: scheduling class rt registered.
> [ 4.872493] Xenomai: real-time nucleus v2.6.4 (Jumpin' Out) loaded.
> [ 4.872498] Xenomai: debug mode enabled.
> [ 4.872632] Xenomai: SMI-enabled chipset found, but SMI workaround disabled
> [ 4.872684] Xenomai: starting native API services.
> [ 4.872687] Xenomai: starting POSIX services.
> [ 4.872724] Xenomai: starting RTDM services.
>
>
> Where did you get the Xenomai userland library from?
>
> I build from source code, xenomai-2.6.4
>
> see the config.log - the output of /usr/xenomai/bin/xeno-config obviously fails to produce flags as expected by configure, see
>
> configure:6902: gcc -o conftest -g -O2 conftest.c -l >&5
> ------------------------------
> -------------------------^^^ missing args here
>
> Yes, you are right. But I am not sure how to pass this args in.

well you need to get the xenomai library install right, you cannot fix that at the machinekit level - no magic workaround for missing foundations possible

after the xenomai build, run the xenomai regression tests and make sure those work
also make sure there is no double install package/from source

there are some examples like examples/native/trivial-periodic.c which can be compiled with a Makefile and that refers to xeno-config

so one those build and run without fiddling the Makefile, retry with configuring machinekit


> Suggestion: use Debian wheezy as recommended
>
> I am trying Debian wheezy before, but it always got one error: The system run in low graphic.

I am positive wheezy can be made to run with arbitrary resolution on just about PC platforms. But that would be better solved using some Debian forum.

your time is better invested in retrying with wheezy instead of trying to tame ubuntu

- Michael

>
> -m

陈成细

unread,
Aug 24, 2015, 7:58:58 PM8/24/15
to Michael Haberler, Machinekit
It works well with examples/native/trivial-periodic.c. By the way, I build machinekit successful many times before already.
With your first reply, I think the problem occur during migrate xenomai 3 into machinekit. So I checkout machinekit an older version. It works already.
In the other hand, I also want to try use xenomai 3 with machinekit, May I know now default xenomai lib directory? Maybe I can try to install xenomai lib into this directory, and test again.
 


> Suggestion: use Debian wheezy as recommended
>
> I am trying Debian wheezy before, but it always got one error: The system run in low graphic.

I am positive wheezy can be made to run with arbitrary resolution on just about PC platforms. But that would be better solved using some Debian forum.

your time is better invested in retrying with wheezy instead of trying to tame ubuntu

Thanks for your advise, I will try to use wheezy. By the way, may i know the latency will be less when work in Wheezy platform? Since I am facing one headache issue, when I do xenomai latency test, there always got around 3 in 100 times spikes that can reach more than 300us. I also follow your link(http://thread.gmane.org/gmane.linux.real-time.xenomai.users/15902/focus=15904) try to solve this problem, but until now no improvement.

- Michael

>
> -m
>
>
>
>
> --
> website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
> ---
> You received this message because you are subscribed to the Google Groups "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
> Visit this group at http://groups.google.com/group/machinekit.
> For more options, visit https://groups.google.com/d/optout.




--
Best regards!
陈成细
R&D Engineer
(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.

Michael Haberler

unread,
Aug 25, 2015, 3:24:41 AM8/25/15
to 陈成细, Machinekit
well then you need to figure out while configure fails to get the proper flags in your case. A pull request would be welcome.

> With your first reply, I think the problem occur during migrate xenomai 3 into machinekit. So I checkout machinekit an older version. It works already.

can you isolate the difference and provide a patch in case there is an error? please look at the git SHA's which 'work' and 'do not work' and look at the diff for configure.ac, this might provide a clue.

> In the other hand, I also want to try use xenomai 3 with machinekit

see https://github.com/machinekit/machinekit/issues/598

Xenomai3 is -> unreleased <- - why on earth should one support a kernel/thread system which still has a changing API? If any, this makes sense after a release, and after packaged kernels have appeared. IMO before that it is pretty much a waste of time.

Machinekit Xenomai3 support is unfinished, and hence not supported. AFAICT there will be no gain but pain if you try. Be prepared to help yourself in this case.

Also, do not expect any wonders from a Xenomai3 kernel.

The quest for shaving off a few microseconds latency is a cargo cult with a loooooong tradition practiced enthusiastically by many folks, but it has practically no bearing on actual results, especially if you have hardware stepgen/encoder/pwm's (like mesanet or BB PRU). Some would say the majority of the latency discussion as practiced is a classic case of group think.

There are basic capabilities which can be added to provide much greater value, read for instance https://github.com/machinekit/machinekit/issues/687 . That is much more interesting than kernel fiddling, and an interesting work area. Supporting yet another not-quite-finished RT kernel is not IMO.

Also, please understand that Xenomai3 is basically a transition vehicle for Xenomai2 users to use RT-PREEMPT underneath without much API breakage.

Machinekit supports RT-PREEMPT natively so it does not have that problem. So what is the point for a grand detour?


> , May I know now default xenomai lib directory? Maybe I can try to install xenomai lib into this directory, and test again.

well wherever you installed it, and xeno-config will point to it

If building say trivial-periodic.c with the supplied Makefile and xeno-config works, then you need to investigate changes to configure.ac to get your setup to work.

>
>
>
> > Suggestion: use Debian wheezy as recommended
> >
> > I am trying Debian wheezy before, but it always got one error: The system run in low graphic.
>
> I am positive wheezy can be made to run with arbitrary resolution on just about PC platforms. But that would be better solved using some Debian forum.
>
> your time is better invested in retrying with wheezy instead of trying to tame ubuntu
>
> Thanks for your advise, I will try to use wheezy. By the way, may i know the latency will be less when work in Wheezy platform?

no, latency is primarily a kernel issue

> Since I am facing one headache issue, when I do xenomai latency test, there always got around 3 in 100 times spikes that can reach more than 300us. I also follow your link(http://thread.gmane.org/gmane.linux.real-time.xenomai.users/15902/focus=15904) try to solve this problem, but until now no improvement.

if it is the xenomai latency test and a homebrew kernel, I fear there is little which can be done here to answer that.



What are you actually trying to achieve?

If you want a stable platform on a PC to actually run things, use wheezy (soon jessie - not just yet), machinekit master and a recent rt-preempt kernel or the Xenomai2 3.8 kernel from the dovetail repo as per machinekit.io instructions, and be done with it

that works, packages available, build from source verified to work.

If you want to help develop, that is certainly welcome but make sure you understand what you are getting into. You will be out on your own, pretty much - such is life in bleeding edge territory.


- Michael
Reply all
Reply to author
Forward
0 new messages