Ach for Ubuntu10.04

59 views
Skip to first unread message

Barbara Konz

unread,
Oct 13, 2014, 10:11:25 AM10/13/14
to ach-...@googlegroups.com
Hello,

I have a computer running with Ubuntu 10.04. Sadly, I can't change that. I got the computer preconfigured from the manufacturer. Is it still possible to get an Ach version running on this system?
I can't compile it myself. It has a kernel with Xenomai patch and I encountered it on a different machine that there a compilation problems. However, the other machine was running with a newer Ubuntu, therefore, I could use the debian package girepository.

If the error message is relevant: when using "make" I get:
./configure: line 16663: syntax error near unexpected token '-fstack-check'
./configure: line 16663: '                        APPEND_CFLAG(-fstack-check)'

I got the same error on a Ubuntu 12.04 with Xenomai.

Thanks and regards,
Barbara


Neil Dantam

unread,
Oct 13, 2014, 4:24:16 PM10/13/14
to ach-...@googlegroups.com
Hi Barbara,

You should be able to use Ach on Ubuntu 10.04 and under a Xenomai
kernel. Just be sure to check the install instructions for Xenomai in
the INSTALL file, since it's a little different than for regular Linux.

About your compile error, I suspect that you don't have the autoconf
archive installed (apt-get install autoconf-archive). You can also
apply the attached patch, which should skip some of those checks, at the
expense of omitted some compiler flags to enable warnings and/or disable
assertions.

Cheers,
-ntd
append_cflag.patch

Barbara Konz

unread,
Oct 15, 2014, 4:44:02 AM10/15/14
to ach-...@googlegroups.com
Hello,

thanks a lot for your fast reply. I did as you suggested and now ./configure is working. But When i try make I get a new error:

./.libs/libach.so: undefined reference to `pthread_mutex_consistent'
collect2: error: ld returned 1 exit status
make[2]: *** [ach] Error 1
make[2]: Leaving directory `/home/c/git/darc/tools/achr'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/c/git/darc/tools/ach'
make: *** [all] Error 2


Regarding my other machine running with Xenomai: is it enough ro use the .deb package or should I compile it again with the flags given in INSTALL?

Barbara

Barbara Konz

unread,
Oct 15, 2014, 5:33:11 AM10/15/14
to ach-...@googlegroups.com
I just saw that I mixed something up or maybe didn't write clearly. The system already running with Ach is Xenomai. the Ubuntu 10.04, however, has a preemption patch.
Sorry for the confusion.

Neil Dantam

unread,
Oct 15, 2014, 7:36:22 PM10/15/14
to ach-...@googlegroups.com
Hi Barbara,

Could you please send me the configure.log? I want to see if your
system doesn't support robust mutexes.

Re Xenomai, the binary package on code.golems.org is built for a vanilla
or PREEMPT kernel. It will run on Xenomai, but will use the regular
linux interfaces, not the xenomai/real-time interfaces. Specifically,
you will see latency spikes of ~100us vs ~5us for a build using the
xenomai interfaces. For comparison, PREEMPT_RT will give you 5-10us
latency.

Cheers,
-ntd

Barbara Konz

unread,
Oct 17, 2014, 4:14:42 AM10/17/14
to ach-...@googlegroups.com
Hi,

Here is my log file. I hope it#s the right file.

Thanks a lot for your fast answers.
Barbara
config.log

Neil T. Dantam

unread,
Oct 18, 2014, 5:37:07 PM10/18/14
to ach-...@googlegroups.com

Thanks. The configure log says that your machine does not support
robust mutexes. Please apply the attached patch, which will disable
robust mutex support in the offending function.

The downside to this is that if you `kill -9` a process while it holds
the channel mutex, you will deadlock the channel. Robust mutexes would
allow the library to detect this and (usually) automatically recover.
If you have readers waiting for messages on the channel, you can
gracefully interrupt them using ach_cancel() from a signal handler.
Here's an example in the manual:
http://code.golems.org/pkg/ach/manual/#AEN270

Cheers,
-ntd
checklock-robust.diff

Barbara Konz

unread,
Oct 20, 2014, 6:03:33 AM10/20/14
to ach-...@googlegroups.com
Thanks. It works now and is ready for use with our new robot.

Barbara
Reply all
Reply to author
Forward
0 new messages