Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Mar 2012 23:09:23 +0100
From:      Roland Smith <>
To:        Doug Hardie <>
Cc:        "" <>
Subject:   Re: Dynamic Libraries
Message-ID:  <>
In-Reply-To: <>
References:  <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 07, 2012 at 12:53:13AM -0800, Doug Hardie wrote:

> All this works just fine on i386.  However, when I compile everything on
> AMD64 I get an error message that says the lower level library needs to be
> compiled with fPIC.  If I add that to the Makefile for the lower level
> library and rebuild everything, it all works again.  I don't understand w=
> the fPIC is required for AMD64.

It is a requirement of the architecture. It is explained e.g. in:=20
> Also, how do I tell if the lower level library is being dynamically linked
> at run time, or being directly incorporated into the mid level library or
> top level application?=20

Examine the application with 'ldd -a <binary>'. That will give you a list of
all dynamic objects used by an application, and for each of those dynamic
objects the dynamic objects that they depend on. See ldd(1).

If your low-level libraries don't show up in that, they are not dynamically

[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)

Content-Type: application/pgp-signature

Version: GnuPG v2.0.18 (FreeBSD)



Want to link to this message? Use this URL: <>