Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Mar 2012 23:09:23 +0100
From:      Roland Smith <rsmith@xs4all.nl>
To:        Doug Hardie <bc979@lafn.org>
Cc:        "questions@FreeBSD.org" <questions@freebsd.org>
Subject:   Re: Dynamic Libraries
Message-ID:  <20120307220923.GB72419@slackbox.erewhon.net>
In-Reply-To: <E64D58F0-0EDD-46A1-B022-2CC8BB64BC29@lafn.org>
References:  <E64D58F0-0EDD-46A1-B022-2CC8BB64BC29@lafn.org>

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

--+g7M9IMkV8truYOl
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=
hy
> the fPIC is required for AMD64.

It is a requirement of the architecture. It is explained e.g. in:=20
http://www.technovelty.org/code/c/amd64-pic.html
=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
loaded.

Roland
--=20
R.F.Smith                                   http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)

--+g7M9IMkV8truYOl
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk9X3JMACgkQEnfvsMMhpyUKYACglkPqvBeSOFGVmLue0hdfEJih
yjkAoKcaMeKn/7zGjC1ipt0K/fkShcbb
=fxd+
-----END PGP SIGNATURE-----

--+g7M9IMkV8truYOl--



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20120307220923.GB72419>