Which lib for pthreads?

Chuck Swiger cswiger at mac.com
Sun Mar 6 17:15:30 PST 2005


Jonathon McKitrick wrote:
> jcm at worker:...cvs/tcontainer/libplugina> make install
> cc -O -pipe -Wall -g -I.. -I../include -shared -fPIC -c plugina.c
> c++  -O -pipe -Wall -g -I.. -I../include -shared -fPIC -c wrapper.cpp
> c++  -O -pipe -Wall -g -I.. -I../include -shared -fPIC -c myclass.cpp
> cc -O -pipe -Wall -g -I.. -I../include -shared -fPIC -c threads.c
> cc -O -pipe -Wall -g -I.. -I../include -shared -fPIC  -pthread -lstdc++ -g
> -Wl,-soname,libplugina.so.0 -o libplugina.so.0.0 plugina.o wrapper.o
> myclass.o threads.o

Um.  If you are compiling C++ code into an object file, you ought to use c++ 
and not cc when linking, too.

> ---> Installing libplugina.so to /home/jcm/lib
> install -m 644 libplugina.so.0.0 /home/jcm/lib
> ln -sf libplugina.so.0.0 /home/jcm/lib/libplugina.so.0
> ln -sf libplugina.so.0 /home/jcm/lib/libplugina.so
> jcm at worker:...cvs/tcontainer/libplugina> app
> /usr/libexec/ld-elf.so.1: /home/jcm/lib/libplugina.so: Undefined symbol
> "pthread_create"
> jcm at worker:...cvs/tcontainer/libplugina> 

Also, you may not have relinked 'app'.  Do an ldd on app and see whether it 
has a dependency on libc_r?  Try relinking app using -pthread against a 
libplugina.so compiled with -pthread...

-- 
-Chuck



More information about the freebsd-questions mailing list