Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Mar 2005 09:38:45 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Jonathon McKitrick <jcm@FreeBSD-uk.eu.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Which lib for pthreads?
Message-ID:  <20050307153845.GF2272@dan.emsphone.com>
In-Reply-To: <20050307122229.GA36571@dogma.freebsd-uk.eu.org>
References:  <20050305183226.GA47472@dogma.freebsd-uk.eu.org> <20050306011827.GE2272@dan.emsphone.com> <20050306213249.GA4624@dogma.freebsd-uk.eu.org> <20050306213955.GA11496@gothmog.gr> <20050306215500.GA5571@dogma.freebsd-uk.eu.org> <422BAB2E.9060703@mac.com> <20050307122229.GA36571@dogma.freebsd-uk.eu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Mar 07), Jonathon McKitrick said:
> On Sun, Mar 06, 2005 at 08:15:26PM -0500, Chuck Swiger wrote:
> : Um.  If you are compiling C++ code into an object file, you ought
> : to use c++ and not cc when linking, too.
> 
> I'm using ${CC} in the makefile, and it seems to automagically choose
> the correct tool.
> 
> : 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...
> 
> That was the problem.  I thought only the library with the thread
> calls needed to be linked with pthread.  Apparently the app needs it
> as well.

Ideally not; dynamic shared libraries can list dependencies:

$ ldd /usr/lib/libreadline.so
/usr/lib/libreadline.so:
	libncurses.so.5 => /lib/libncurses.so.5 (0x2819a000)

I'm pretty sure static libs could do the same at one time, but I can't
find any documentation to back that up.

-- 
	Dan Nelson
	dnelson@allantgroup.com



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