Perrine Martignoni wrote: > I compiled cyclictest with this command line and it works with no problem : > > > arm-linux-gcc -I/usr/xenomai_arm-2.3.1uClibc/include -I/usr/xenomai_arm- > 2.3.1uClibc/include/posix -D_GNU_SOURCE -D_REENTRANT -D__XENO__ > -D__IN_XENO__ -Wstrict-prototypes -DIPIPE_TRACE=1 -g cyclictest.c -c -o > cyclictest.o > > arm-linux-gcc -Wl,--wrap,pthread_create -Wl,--wrap,pthread_setschedparam > -Wl,--wrap,pthread_getschedparam -Wl,--wrap,pthread_yield > -Wl,--wrap,sched_yield -Wl,--wrap,sem_init -Wl,--wrap,sem_destroy > -Wl,--wrap,sem_post -Wl,--wrap,sem_timedwait -Wl,--wrap,sem_wait > -Wl,--wrap,sem_trywait -Wl,--wrap,sem_getvalue -Wl,--wrap,sem_open > -Wl,--wrap,sem_close -Wl,--wrap,sem_unlink -Wl,--wrap,clock_getres > -Wl,--wrap,clock_gettime -Wl,--wrap,clock_settime > -Wl,--wrap,clock_nanosleep > -Wl,--wrap,nanosleep -Wl,--wrap,pthread_mutexattr_init > -Wl,--wrap,pthread_mutexattr_destroy -Wl,--wrap,pthread_mutexattr_gettype > -Wl,--wrap,pthread_mutexattr_settype > -Wl,--wrap,pthread_mutexattr_getprotocol > -Wl,--wrap,pthread_mutexattr_setprotocol > -Wl,--wrap,pthread_mutexattr_getpshared > -Wl,--wrap,pthread_mutexattr_setpshared -Wl,--wrap,pthread_mutex_init > -Wl,--wrap,pthread_mutex_destroy -Wl,--wrap,pthread_mutex_lock > -Wl,--wrap,pthread_mutex_trylock -Wl,--wrap,pthread_mutex_timedlock > -Wl,--wrap,pthread_mutex_unlock -Wl,--wrap,pthread_condattr_init > -Wl,--wrap,pthread_condattr_destroy -Wl,--wrap,pthread_condattr_getclock > -Wl,--wrap,pthread_condattr_setclock -Wl,--wrap,pthread_condattr_getpshared > -Wl,--wrap,pthread_condattr_setpshared -Wl,--wrap,pthread_cond_init > -Wl,--wrap,pthread_cond_destroy -Wl,--wrap,pthread_cond_wait > -Wl,--wrap,pthread_cond_timedwait -Wl,--wrap,pthread_cond_signal > -Wl,--wrap,pthread_cond_broadcast -Wl,--wrap,mq_open -Wl,--wrap,mq_close > -Wl,--wrap,mq_unlink -Wl,--wrap,mq_getattr -Wl,--wrap,mq_setattr > -Wl,--wrap,mq_send -Wl,--wrap,mq_timedsend -Wl,--wrap,mq_receive > -Wl,--wrap,mq_timedreceive -Wl,--wrap,mq_notify -Wl,--wrap,open > -Wl,--wrap,socket -Wl,--wrap,close -Wl,--wrap,ioctl -Wl,--wrap,read > -Wl,--wrap,write -Wl,--wrap,recvmsg -Wl,--wrap,sendmsg -Wl,--wrap,recvfrom > -Wl,--wrap,sendto -Wl,--wrap,recv -Wl,--wrap,send -Wl,--wrap,getsockopt > -Wl,--wrap,setsockopt -Wl,--wrap,bind -Wl,--wrap,connect -Wl,--wrap,listen > -Wl,--wrap,accept -Wl,--wrap,getsockname -Wl,--wrap,getpeername > -Wl,--wrap,shutdown -Wl,--wrap,timer_create -Wl,--wrap,timer_delete > -Wl,--wrap,timer_settime -Wl,--wrap,timer_getoverrun > -Wl,--wrap,timer_gettime -Wl,--wrap,ftruncate -Wl,--wrap,close > -Wl,--wrap,shm_open -Wl,--wrap,shm_unlink -Wl,--wrap,mmap -Wl,--wrap,munmap > -L/usr/xenomai_arm-2.3.1uClibc/lib cyclictest.o -lpthread_rt -lpthread -lrt > -o cyclictest >
That remains mysterious for me as well. Xenomai trunk fails to build against ELDK 4.1 arm-uclibc due to two reasons. One is missing pthread_spin_xxx support in their environment which we need for the new clocktest (we need to find some workaround for this - separate issue), the other one is well known: [...] l,--wrap -Wl,ftruncate -Wl,--wrap -Wl,close -Wl,--wrap -Wl,shm_open -Wl,--wrap -Wl,shm_unlink -Wl,--wrap -Wl,mmap -Wl,--wrap -Wl,munmap clocktest-clocktest.o ../../skins/posix/.libs/libpthread_rt.a -lpthread -lrt clocktest-clocktest.o: In function `check_time_warps': clocktest.c:(.text+0x28): undefined reference to `pthread_spin_lock' clocktest.c:(.text+0x5c): undefined reference to `pthread_spin_unlock' clocktest-clocktest.o: In function `main': clocktest.c:(.text+0x16c): undefined reference to `pthread_spin_init' /home/kiszka/eldk/usr/../arm/lib/libpthread.so: undefined reference to `__wrap_mmap' /home/kiszka/eldk/usr/../arm/lib/librt.so: undefined reference to `__wrap_close' /home/kiszka/eldk/usr/../arm/lib/libpthread.so: undefined reference to `__wrap_munmap' collect2: ld returned 1 exit status I noticed that linking like this arm-linux-gcc ...<flags> <object>.o -lpthread -lrt -lpthread_rt ... doesn't raise the error. But linking like this arm-linux-gcc `xeno-config --posix-ldflags` <object>.o -o <target> ie. the standard way for external Xenomai POSIX apps, causes even more problems with this toolchain (it's fine here for native builds). Anyone any comments? Maybe Wolfgang? Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
