This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Posix management [HELP]


On Wed, Jun 18, 2003 at 09:46:20AM +0200, Matthieu.GIRARDIN@fr.thalesgroup.com wrote:
> Hello everybody,
> 
> I've worked under ecos for one month. After having used ecos functions about
> mutex, thread [...] without any problem, I must use, now, the Posix
> compatibility layer. I wanna be able to manage message queues ...
> 
> So, I added the template and the package Posix with :
> 	- Build->Templates->Posix
> 	- Build->Packages->ISO C and POSIX infrastructure
> 	- Build->Packages->POSIX compatibility layer
> 
> I configured the tools as follow :
> 	- ISO C and POSIX infrastructure
> 		§ POSIX message queues enabled
> 			* implementation header enabled with the value :
> <mqueue.h>
> 			* max nb queues : 50
> 			* max nb prio : 65535
> 	- POSIX compatibility layer
> 		§ POSIX message queues enabled
> 			* nb queues : 50
> 			* validate queue descriptors enabled
> 			* allow empty disabled
> 
> My problem is that I can't compile ecos libraries any more. 
> You can see ECOS messages about this at the end  of this mail.
> 
> If my configuration is not complete, please tell me.
> Oh yeah! I forgot to specify that I am under Linux Redhat 7.3 and ecos turns
> as a synthetic target...
> I need help, really.
> 
> Last thing : excuse my poor english; I am a french student and I work to
> make it better...
> 
> Thanks a lot.
> 
> Matthieu GIRARDIN
> 
> 
> 
> 
> 
> make -r -C compat/posix/v2_0b1 build
> make[1]: Entre dans le répertoire
> `/opt/ecos/ecos-work/linux_build/compat/posix/v2_0b1'
> gcc -c  -I/opt/ecos/ecos-work/linux_install/include
> -I/opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1
> -I/opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1/src
> -I/opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1/tests -I.
> -I/opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1/src/ -Wall
> -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g
> -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions
> -fvtable-gc -finit-priority -Wp,-MD,src/mqueue.tmp -o
> src/compat_posix_mqueue.o
> /opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1/src/mqueue.cxx
> In file included from
> /opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1/src/pprivate.h:72,
>                  from
> /opt/ecos/ecos-2.0b1/packages/compat/posix/v2_0b1/src/mqueue.cxx:89:
> /opt/ecos/ecos-work/linux_install/include/cyg/posix/export.h:100: parse
> error before `*'
> /opt/ecos/ecos-work/linux_install/include/cyg/posix/export.h:102: parse
> error before `*'

#ifdef CYGPKG_POSIX_SIGNALS
__externC void cyg_pthread_sigmask_set (const sigset_t *set, sigset_t *oset);
__externC cyg_bool cyg_posix_sigpending(void);
__externC void cyg_posix_deliver_signals(const sigset_t *mask);
 
So it looks like you don't have sigset_t defined.

eCos has two implementations of signals. There is code in libc and
code in the POSIX layer. What i think has happened is you have the
libc signal code where as you need the POSIX code.

This is probably something to do with the way you configured
eCos. What i suggest you do is:

ecosconfig new linux posix

This will get you the correct packages you need. 

You can then change the number of queues and priorities. I normally
edit the ecos.ecc file by hand, its much easier and friendly than
using the GUI. Then:

ecosconfig tree
make.

        Andrew


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]