All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Philippe Gerum <rpm@xenomai.org>
Cc: ROSSIER Daniel <Daniel.Rossier@domain.hid>, xenomai@xenomai.org
Subject: Re: [Xenomai-help] Usage of sim with xenomai-2.0
Date: Tue, 25 Oct 2005 20:29:06 +0200	[thread overview]
Message-ID: <435E7972.90809@domain.hid> (raw)
In-Reply-To: <435E3A68.9090601@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 3420 bytes --]

Philippe Gerum wrote:
> ROSSIER Daniel wrote:
> 
>> Hi Philippe,
>>
>> Here is the info about my env:
>>
>> - kernel 2.6.9
>> - glibc 2.3.5
>> - gcc 3.4.4
>> - actually, I built my env. from scratch (no distro) - simply from 
>> www.linuxfromscratch.org
>>
>> But everything else works fine :-) (xenomai works perfectly. I tested 
>> it with the LinuxTraceToolkit, and it works as well)
>>
>> Here is the fragment of log, right before the failure (all the 
>> compilation steps before are OK):
>>
>>
>> make[4]: Leaving directory 
>> `/home/rossier/xenomai-2.0/sim/gcic/gcc-build/i686-pc-linux-gnu/libiberty' 
>>
>> make[3]: Leaving directory 
>> `/home/rossier/xenomai-2.0/sim/gcic/gcc-build/i686-pc-linux-gnu/libiberty' 
>>
>> make[3]: Entering directory 
>> `/home/rossier/xenomai-2.0/sim/gcic/gcc-build/i686-pc-linux-gnu/libio'
>> if [ x"no" = xyes ] && [ ! -d pic ]; then \
>>   mkdir pic; \
>> else true; fi
>> touch stamp-picdir
>> test x"no" != xyes ||\
>>   /home/rossier/xenomai-2.0/sim/gcic/gcc-build/gcc/xgcc 
>> -B/home/rossier/xenomai-2.0/sim/gcic/gcc-build/gcc/ 
>> -B/usr/realtime/libexec/gcic/i686-pc-linux-gnu/bin/ -c -g -O2 -I. 
>> -I../../../gcc-2.95.3/libio -D_IO_MTSAFE_IO  
>> ../../../gcc-2.95.3/libio/iogetline.c -o pic/iogetline.o 
>> /home/rossier/xenomai-2.0/sim/gcic/gcc-build/gcc/xgcc 
>> -B/home/rossier/xenomai-2.0/sim/gcic/gcc-build/gcc/ 
>> -B/usr/realtime/libexec/gcic/i686-pc-linux-gnu/bin/ -c -g -O2 -I. 
>> -I../../../gcc-2.95.3/libio -D_IO_MTSAFE_IO 
>> ../../../gcc-2.95.3/libio/iogetline.c
>> In file included from ../../../gcc-2.95.3/libio/libio.h:167,
>>                  from ../../../gcc-2.95.3/libio/iolibio.h:1,
>>                  from ../../../gcc-2.95.3/libio/libioP.h:47,
>>                  from ../../../gcc-2.95.3/libio/iogetline.c:26:
>> /usr/include/bits/stdio-lock.h:24: lowlevellock.h: No such file or 
>> directory
>> make[3]: *** [iogetline.o] Error 1
>> make[3]: Leaving directory 
>> `/home/rossier/xenomai-2.0/sim/gcic/gcc-build/i686-pc-linux-gnu/libio'
>> make[2]: *** [all-target-libio] Error 2
>> make[2]: Leaving directory `/home/rossier/xenomai-2.0/sim/gcic/gcc-build'
>> make[1]: *** [gcc-build/.gcic-built] Error 2
>> make[1]: Leaving directory `/home/rossier/xenomai-2.0/sim/gcic'
>> make: *** [all-recursive] Error 1
>> root@domain.hid#
>>
> 
> It seems to be an incompatibility issue between the NPTL and gcc-2.95.x:
> http://sources.redhat.com/ml/glibc-bugs/2004-06/msg00144.html
> 
> The best way to solve this would be to get rid of the MT support for 
> building the GCC-based instrumenter, since we don't need it, and libio/ 
> compilation would not break. I'll look at some way to fix this.
> 

Could you try the following steps and let me know if that works in your environment:

- unpack the gcc-2.95.3 archive
- apply the attached patch against the gcc tree
- pack back the tree
- configure, build and install Xenomai again to use the patched gcc archive for 
building the simulator.

In order to test the resulting stuff:

- export PATH=/usr/realtime/bin:$PATH
- export LD_LIBRARY_PATH=/usr/realtime/lib:$LD_LIBRARY_PATH
- cd xenomai-2.0/skins/vxworks/demos
- make sim

You should have the "satch_s" executable available in the current dir at that 
point; just start the following command then:
$ xenoscope satch_s

PS: at Xenomai configuration time, make sure to have selected the VxWorks skin 
among the APIs to build.

-- 

Philippe.

[-- Attachment #2: gcc-2.95.3-no-mt.patch --]
[-- Type: text/x-patch, Size: 740 bytes --]

diff -uNrp gcc-2.95.3/libio/config/mtsafe.mt gcc-2.95.3-no-mt/libio/config/mtsafe.mt
--- gcc-2.95.3/libio/config/mtsafe.mt	1997-09-27 06:07:24.000000000 +0200
+++ gcc-2.95.3-no-mt/libio/config/mtsafe.mt	2005-10-25 19:43:24.000000000 +0200
@@ -1,2 +1,3 @@
 # tell we want the mt-safe version
-MT_CFLAGS = -D_IO_MTSAFE_IO
+# MT_CFLAGS = -D_IO_MTSAFE_IO
+MT_CFLAGS =
diff -uNrp gcc-2.95.3/libstdc++/config/linux.mt gcc-2.95.3-no-mt/libstdc++/config/linux.mt
--- gcc-2.95.3/libstdc++/config/linux.mt	1998-02-01 13:38:27.000000000 +0100
+++ gcc-2.95.3-no-mt/libstdc++/config/linux.mt	2005-10-25 19:43:07.000000000 +0200
@@ -1,2 +1,3 @@
 # tell we want the mt-safe version
-MT_CFLAGS = -D_IO_MTSAFE_IO
+# MT_CFLAGS = -D_IO_MTSAFE_IO
+MT_CFLAGS =

  parent reply	other threads:[~2005-10-25 18:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-25 13:12 [Xenomai-help] Usage of sim with xenomai-2.0 ROSSIER Daniel
2005-10-25 14:00 ` Philippe Gerum
2005-10-25 18:12   ` ROSSIER Daniel
2005-10-25 19:23     ` Philippe Gerum
2005-10-25 18:29   ` Philippe Gerum [this message]
2005-10-25 19:12     ` ROSSIER Daniel
2005-10-25 19:31       ` Philippe Gerum
2005-10-25 19:52         ` ROSSIER Daniel
  -- strict thread matches above, loose matches on Subject: below --
2005-10-25 12:52 ROSSIER Daniel
2005-10-25 13:03 ` Philippe Gerum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=435E7972.90809@domain.hid \
    --to=rpm@xenomai.org \
    --cc=Daniel.Rossier@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.