DSO missing from command line
140,054
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.
Author by
srai
Updated on July 05, 2022Comments
-
srai almost 2 years
I am trying to compile a C++ program like this:
$ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap
However I get the following error:
/usr/bin/ld: /tmp/cct6xeXD.o: undefined reference to symbol 'pthread_join@@GLIBC_2.4' //lib/arm-linux-gnueabihf/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
I have no idea what this error means. Any help will be greatly appreciated.
-
Alex almost 9 yearsThanks, I had a similar problem with some other project and was able to solve it this way. I just want to add that now that I looked closer I can see that the error is actually very unambigious on what the problem is. I mean, it does say that
pthread_join
is undefined and that it belongs tolibpthread.so
. But like srai I had no idea what the error meant until I came here. :-) -
acgtyrant over 8 yearsDoes the error show that the ld know the needed DSO is
//lib/arm-linux-gnueabihf/libpthread.so.0
?