libpthread.so.0: error adding symbols: DSO missing from command line
You should mention the library on the command line after the object files being compiled:
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 -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 -lpthread
Explanation: the linking is dependent on the order of modules. Symbols are first requested, and then linked in from a library that has them. So you have to specify modules that use libraries first, and libraries after them. Like this:
gcc x.o y.o z.o -la -lb -lc
Moreover, in case there's a circular dependency, you should specify the same library on the command line several times. So in case libb
needs symbol from libc
and libc
needs symbol from libb
, the command line should be:
gcc x.o y.o z.o -la -lb -lc -lb
DSO missing from command line
DSO here means Dynamic Shared Object; since the error message says it's missing from the command line, I guess you have to add it to the command line.
That is, try adding -lpthread
to your command line.
DSO missing from command line when compiling
The INCDIROPTS
field is incorrect. In Makefiles, library locations are specified with -L
and the actual library names are linked with -l
.
Specify the mysql library with -L/usr/lib64/mysql
in INCDIROPTS
, and then link it with -lmysqlclient
in LNKLIB
.
Related Topics
How to Make C++ Cout Not Use Scientific Notation
Are Memory Leaks "Undefined Behavior" Class Problem in C++
Simple Object Detection Using Opencv and MAChine Learning
How to Call C++ Functions from Within Ruby
How to Use Member Initialization List to Initialize an Array
How to Validate an Integer Input
Multiple Definition of Template Specialization When Using Different Objects
C++ Boost: Undefined Reference to Boost::System::Generic_Category()
C++ Inline Member Function in .Cpp File
How to Check If Enum Value Is Valid
What Is the Printf Format Specifier for Bool
Accessing Certain Pixel Rgb Value in Opencv
Checking a Member Exists, Possibly in a Base Class, C++11 Version
Dynamic Aligned Memory Allocation in C++11