Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Mar 2005 21:55:00 +0000
From:      Jonathon McKitrick <jcm@FreeBSD-uk.eu.org>
To:        Giorgos Keramidas <keramida@ceid.upatras.gr>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Which lib for pthreads?
Message-ID:  <20050306215500.GA5571@dogma.freebsd-uk.eu.org>
In-Reply-To: <20050306213955.GA11496@gothmog.gr>
References:  <20050305183226.GA47472@dogma.freebsd-uk.eu.org> <20050306011827.GE2272@dan.emsphone.com> <20050306213249.GA4624@dogma.freebsd-uk.eu.org> <20050306213955.GA11496@gothmog.gr>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 06, 2005 at 11:39:55PM +0200, Giorgos Keramidas wrote:
: On 2005-03-06 21:32, Jonathon McKitrick <jcm@FreeBSD-uk.eu.org> wrote:
: >On Sat, Mar 05, 2005 at 07:18:31PM -0600, Dan Nelson wrote:
: >:In the last episode (Mar 05), Jonathon McKitrick said:
: >:> Linux lets me use -pthread, but under BSD I get 'undefined symbol
: >:> "pthread_mutex_lock."'
: >:>
: >:> What's the correct linker syntax for pthreads?
: >:
: >: That would be it.  It should work on 4.* and 5.*.
: >
: > I found -lc_r does the trick.  Not what I was expecting.
: 
: -lpthread should work too.

Hmmmm...

jcm@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  -lpthread -lstdc++ -g
-Wl,-soname,libplugina.so.0 -o libplugina.so.0.0 plugina.o wrapper.o
myclass.o threads.o
/usr/libexec/elf/ld: cannot find -lpthread
*** Error code 1

Stop in /usr/home/jcm/cvs/tcontainer/libplugina.
jcm@worker:...cvs/tcontainer/libplugina> 

What about -pthread?

jcm@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
---> 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@worker:...cvs/tcontainer/libplugina> app
/usr/libexec/ld-elf.so.1: /home/jcm/lib/libplugina.so: Undefined symbol
"pthread_create"
jcm@worker:...cvs/tcontainer/libplugina> 


Jonathon McKitrick
--
My other computer is your Windows box.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050306215500.GA5571>