From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Patrice Kadionik <kadionik@domain.hid>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Problem to cross-compile Xenomai user-space support
Date: Tue, 30 Mar 2010 12:46:11 +0200 [thread overview]
Message-ID: <4BB1D673.2050600@domain.hid> (raw)
In-Reply-To: <4BB1C88D.8060506@domain.hid>
Patrice Kadionik wrote:
> Le 30/03/2010 11:40, Gilles Chanteperdrix a écrit :
>> Patrice Kadionik wrote:
>>
>>> Le 30/03/2010 00:23, Gilles Chanteperdrix a écrit :
>>>
>>>> Huan Fang wrote:
>>>>
>>>>
>>>>> eck_vdso-check-vdso.o ../../skins/native/libnative.la -lpthread -lm
>>>>> libtool: link: ../../../scripts/wrap-link.sh nios2-linux-gcc -Wl,-elf2flt -o check-vdso check_vdso-check-vdso.o ../../skins/native/.libs/libnative.a -lpthread -lm
>>>>> check-vdso.elf2flt(.text+0x16c): In function `main':
>>>>> : undefined reference to `xeno_sem_heap'
>>>>> check-vdso.elf2flt(.text+0x170): In function `main':
>>>>> : undefined reference to `xeno_sem_heap'
>>>>> collect2: ld returned 1 exit status
>>>>> make[3]: *** [check-vdso] Erreur 1
>>>>> make[3]: quittant le répertoire « /home/sonda/Desktop/xenomai-2.5.1/src/testsuite/unit »
>>>>> make[2]: *** [all-recursive] Erreur 1
>>>>> make[2]: quittant le répertoire « /home/sonda/Desktop/xenomai-2.5.1/src/testsuite »
>>>>> make[1]: *** [all-recursive] Erreur 1
>>>>> make[1]: quittant le répertoire « /home/sonda/Desktop/xenomai-2.5.1/src »
>>>>> make: *** [all-recursive] Erreur 1
>>>>>
>>>>> what can I do? Please help
>>>>>
>>>>>
>>>> Please try xenomai 2.5.2
>>>>
>>>>
>>>>
>>>>
>>> Hi Gilles,
>>>
>>> I've done this with the 2.5.2 version and I have had the same problem.
>>> It is the consequence of another one earlier in the compilation process.
>>> After the xenomai configuration for NIOS II:
>>> $ ./configure --host=nios2-linux
>>>
>>> the generated src/include/xeno_config.h configuration file has
>>> CONFIG_XENO_FASTSYNCH not configured:
>>> ...
>>> /* config */
>>> /* #undef CONFIG_XENO_FASTSYNCH */
>>> ...
>>>
>>> If you make the compilation, it fails on the src/skins/common/sem_heap.c
>>> compilation.
>>> You have in this files 2 similar functions
>>> line 100: static void xeno_init_sem_heaps_inner(void)
>>> and
>>> line 118: void xeno_init_sem_heaps(void)
>>>
>>> There is a mismatch in the src/skins/common/sem_heap.h file according to
>>> the CONFIG_XENO_FASTSYNCH definition (during Xenomai configuration).
>>> In this case it conflits with the macro #define xeno_init_sem_heaps()
>>> line 9 in the src/skins/common/sem_heap.h file and the void
>>> xeno_init_sem_heaps(void) in the src/skins/common/sem_heap.c
>>>
>>> I don't know what in the right correction to do in the
>>> src/skins/common/sem_heap.h file according to the CONFIG_XENO_FASTSYNCH
>>> definition.
>>>
>>> If I suppress the line 9 (#define ...) in the
>>> src/skins/common/sem_heap.h file, it compiles until problems for
>>> src/testsuite/unit tool:
>>> cond-torture.c file. Line 56: problem with the "if else" structure when
>>> HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL is not defined (the case here).
>>>
>> Could you show me the compilation log? I think the "else" is simply wrong.
>>
>>
> That is:
> nios2-linux-gcc -DHAVE_CONFIG_H -I. -I../../../src/include
> -I../../../include/posix -O2 -D_GNU_SOURCE -D_REENTRANT -Wall -pipe
> -D__XENO__ -D__IN_XENO__ -Wstrict-prototypes -g -DXENO_POSIX
> -I../../../include -MT cond_torture_posix-cond-torture.o -MD -MP -MF
> .deps/cond_torture_posix-cond-torture.Tpo -c -o
> cond_torture_posix-cond-torture.o `test -f 'cond-torture.c' || echo
> './'`cond-torture.c
> cond-torture.c: In function `mutex_init':
> cond-torture.c:56: error: syntax error before "else"
> make[3]: *** [cond_torture_posix-cond-torture.o] Erreur 1
> make[3]: quittant le répertoire «
> /home/kadionik/Altera/nios2-xenomai/tests/xenomai-2.5.2/src/testsuite/unit »
>
> yes the #else is wrong...
Could you check the following patch?
diff --git a/src/testsuite/unit/cond-torture.c
b/src/testsuite/unit/cond-torture.c
index a20e12f..2d40a29 100644
--- a/src/testsuite/unit/cond-torture.c
+++ b/src/testsuite/unit/cond-torture.c
@@ -47,13 +47,13 @@ int mutex_init(mutex_t *mutex, int type, int pi)
pthread_mutexattr_init(&mattr);
pthread_mutexattr_settype(&mattr, type);
- if (pi != 0)
#ifdef HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL
+ if (pi != 0)
pthread_mutexattr_setprotocol(&mattr, PTHREAD_PRIO_INHERIT);
err = pthread_mutex_init(mutex, &mattr);
#else
- else {
+ if (pi != 0) {
err = ENOSYS;
goto out;
}
--
Gilles.
next prev parent reply other threads:[~2010-03-30 10:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-25 20:24 [Xenomai-help] Problem to cross-compile Xenomai user-space support Chtourou Sonda
2010-03-28 13:26 ` Patrice Kadionik
2010-03-29 22:20 ` Huan Fang
2010-03-29 22:23 ` Gilles Chanteperdrix
2010-03-30 9:05 ` Patrice Kadionik
2010-03-30 9:14 ` Gilles Chanteperdrix
2010-03-30 9:40 ` Patrice Kadionik
2010-03-30 9:40 ` Gilles Chanteperdrix
2010-03-30 9:46 ` Patrice Kadionik
2010-03-30 10:46 ` Gilles Chanteperdrix [this message]
2010-03-30 15:00 ` Patrice Kadionik
2010-03-30 8:37 ` Patrice Kadionik
2010-03-30 17:37 ` Huan Fang
2010-03-30 17:48 ` Patrice Kadionik
-- strict thread matches above, loose matches on Subject: below --
2010-03-30 15:40 Chtourou Sonda
2010-03-30 16:45 ` Patrice Kadionik
2010-03-31 10:55 Chtourou Sonda
2010-04-01 10:49 ` Patrice Kadionik
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=4BB1D673.2050600@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=kadionik@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.