0:添加符号错误:命令行中缺少DSO

0:添加符号错误:命令行中缺少DSO

在编译openvSwitk-1.5.0时,遇到了以下编译错误:


 gcc -Wstrict-prototypes -Wall -Wno-sign-compare -Wpointer-arith

     -Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -Wno-override-init  -g -O2 -export-dynamic ***-lpthread***  -o utilities/ovs-dpctl utilities/ovs-dpctl.o lib/libopenvswitch.a

 /home/jyyoo/src/dpdk/build/lib/librte_eal.a

 /home/jyyoo/src/dpdk/build/lib/libethdev.a

 /home/jyyoo/src/dpdk/build/lib/librte_cmdline.a

 /home/jyyoo/src/dpdk/build/lib/librte_hash.a

 /home/jyyoo/src/dpdk/build/lib/librte_lpm.a

 /home/jyyoo/src/dpdk/build/lib/librte_mbuf.a

 /home/jyyoo/src/dpdk/build/lib/librte_ring.a

 /home/jyyoo/src/dpdk/build/lib/librte_mempool.a

 /home/jyyoo/src/dpdk/build/lib/librte_malloc.a -lrt -lm 

     /usr/bin/ld: /home/jyyoo/src/dpdk/build/lib/librte_eal.a(eal.o): undefined reference

     to symbol 'pthread_create@@GLIBC_2.2.5'

     /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from 

     command line

如果我试图看到libpthread看起来很好。


$ readelf -s /lib/x86_64-linux-gnu/libpthread.so.0 | grep pthread_create

   199: 0000000000008220  2814 FUNC    GLOBAL DEFAULT   13 pthread_create@@GLIBC_2.2.5

   173: 0000000000008220  2814 FUNC    LOCAL  DEFAULT   13 __pthread_create_2_1

   462: 0000000000008220  2814 FUNC    GLOBAL DEFAULT   13 pthread_create@@GLIBC_2.2

你能给点提示或指点吗?


慕后森
浏览 3838回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP