[lttng-dev] URCU on the Xeon Phi

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sun Nov 15 11:00:40 EST 2015


CCing lttng-dev mailing list.

----- On Nov 13, 2015, at 12:08 AM, 何鑫 sayounara at hnu.edu.cn wrote:

> Dear Mathieu:
>          I am a master's degree student at Hunan University in the College of Information
>          Science and Engieering.I'm trying to port a project as a native Xeon Phi
>          application.The project depends on  some rcu dynamic shared
>          libraries(liburcu.so.4,liburcu-cds.so.4,liburcu-common.so.4,liburcu-qsbr.so.4
>          etc.).and I understand that I have to cross-compile these librarys for
>          x86_64-k1om-linux.Here's the problem I've hit.When I try to compile
>          userspace-rcu to get these shared libs.It generate these errors.

AFAIK, the Xeon Phi is not in the list of urcu architectures at the
moment. liburcu would need to be extended to support it.

I know contributors at Polytechnique have a Xeon Phi. Perhaps they
could tell us more about what is needed ?

Thanks,

Mathieu

> 
> [root at localhost workspace]# cd userspace-rcu/
> [root at localhost userspace-rcu]# make
> make  all-recursive
> make[1]: 进入目录“/root/workspace/userspace-rcu”
> Making all in .
> make[2]: 进入目录“/root/workspace/userspace-rcu”
>  CCLD   liburcu-common.la
>  CC     urcu.lo
>  CC     urcu-pointer.lo
>  CCLD   liburcu.la
>  CC     urcu-qsbr.lo
>  CCLD   liburcu-qsbr.la
>  CC     liburcu_mb_la-urcu.lo
>  CC     liburcu_mb_la-urcu-pointer.lo
>  CC     liburcu_mb_la-compat_futex.lo
>  CCLD   liburcu-mb.la
>  CC     liburcu_signal_la-urcu.lo
>  CC     liburcu_signal_la-urcu-pointer.lo
>  CC     liburcu_signal_la-compat_futex.lo
>  CCLD   liburcu-signal.la
>  CC     urcu-bp.lo
>  CCLD   liburcu-bp.la
>  CC     rculfqueue.lo
>  CC     rculfstack.lo
>  CC     lfstack.lo
>  CC     rculfhash.lo
>  CC     rculfhash-mm-order.lo
>  CC     rculfhash-mm-chunk.lo
>  CC     rculfhash-mm-mmap.lo
>  CCLD   liburcu-cds.la
> make[2]: 离开目录“/root/workspace/userspace-rcu”
> Making all in doc
> make[2]: 进入目录“/root/workspace/userspace-rcu/doc”
> Making all in examples
> make[3]: 进入目录“/root/workspace/userspace-rcu/doc/examples”
> Examples: relative top_srcdir path ../..
> Examples: relative top_builddir path ../..
> make[4]: 进入目录“/root/workspace/userspace-rcu/doc/examples”
> make -C hlist
> make[5]: 进入目录“/root/workspace/userspace-rcu/doc/examples/hlist”
> make -f Makefile.cds_hlist_add_head_rcu
> make[6]: 进入目录“/root/workspace/userspace-rcu/doc/examples/hlist”
> icc -std=gnu99  -g -O2 -Wall -I..//../../ -I../../../ -mmic -pthread \
>	-c -o cds_hlist_add_head_rcu.o cds_hlist_add_head_rcu.c
> In file included from cds_hlist_add_head_rcu.c(20):
> ..//../../urcu/rcuhlist.h(50): warning #266: function "CMM_STORE_SHARED"
> declared implicitly
>  	CMM_STORE_SHARED(elem->prev->next, elem->next);
>  	^
> 
> icc -std=gnu99 -g -O2 -Wall  -mmic -pthread -L../../../.libs/ -Wl,-rpath
> "/root/workspace/userspace-rcu/doc/examples/../../.libs/" \
>	-o cds_hlist_add_head_rcu cds_hlist_add_head_rcu.o -lurcu
> x86_64-k1om-linux-ld: warning: libimf.so, needed by ../../../.libs//liburcu.so,
> not found (try using -rpath or -rpath-link)
> x86_64-k1om-linux-ld: warning: libsvml.so, needed by ../../../.libs//liburcu.so,
> not found (try using -rpath or -rpath-link)
> x86_64-k1om-linux-ld: warning: libirng.so, needed by ../../../.libs//liburcu.so,
> not found (try using -rpath or -rpath-link)
> x86_64-k1om-linux-ld: warning: libintlc.so.5, needed by
> ../../../.libs//liburcu.so, not found (try using -rpath or -rpath-link)
> ../../../.libs//liburcu.so: undefined reference to `CMM_STORE_SHARED'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_and'
> ../../../.libs//liburcu.so: undefined reference to
> `cmm_smp_mb__after_uatomic_and'
> ../../../.libs//liburcu.so: undefined reference to `CMM_LOAD_SHARED'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_dec'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_add'
> ../../../.libs//liburcu.so: undefined reference to `cmm_smp_rmb'
> ../../../.libs//liburcu.so: undefined reference to `cmm_smp_wmc'
> ../../../.libs//liburcu.so: undefined reference to
> `cmm_smp_mb__before_uatomic_or'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_read'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_xchg'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_sub_return'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_set'
> ../../../.libs//liburcu.so: undefined reference to `cmm_wmb'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_or'
> ../../../.libs//liburcu.so: undefined reference to `cmm_smp_mb'
> ../../../.libs//liburcu.so: undefined reference to `caa_cpu_relax'
> ../../../.libs//liburcu.so: undefined reference to
> `cmm_smp_read_barrier_depends'
> ../../../.libs//liburcu.so: undefined reference to
> `cmm_smp_mb__after_uatomic_or'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_sub'
> ../../../.libs//liburcu.so: undefined reference to `cmm_smp_rmc'
> ../../../.libs//liburcu.so: undefined reference to `cmm_smp_wmb'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_inc'
> ../../../.libs//liburcu.so: undefined reference to `uatomic_cmpxchg
> 
> I'm confused about these errors and don't know how to solve these error(like
> ../../../.libs//liburcu.so: undefined reference to `CMM_STORE_SHARED').
> Could you give me some tips  about this?
> I am looking foward to your apply .
> 
> Thank you,
> 
> [Xin He]
> 
> Hunan University In China

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list