Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2005 11:51:38 -0400
From:      Vivek Khera <vivek@khera.org>
To:        freebsd-amd64 List <freebsd-amd64@freebsd.org>
Subject:   Re: R_X86_64_32
Message-ID:  <3013A3A0-CEC4-4246-A37C-8F96F0A0E10A@khera.org>
In-Reply-To: <4314B230.5060905@iki.fi>
References:  <43143948.50502@blosphere.net> <580A5788-44FD-4F83-A786-D017A6DDB3D8@khera.org> <4314B230.5060905@iki.fi>

next in thread | previous in thread | raw e-mail | index | archive | help

On Aug 30, 2005, at 3:23 PM, Tommi L=E4tti wrote:

> I even diff'ed the config.status files from both machines when they =20=

> generated them during portinstall. No difference. Anyways, usually =20
> this error occurs only when linking to some library that was a =20
> dependancy as far as I've understood.
>

it happens any time you try to use a shared library built from some =20
software which has only been tested on i386 architecture... =20
basically, some lazy developer decided that to build a shared library =20=

they just take the existing objects and lump them together.  on =20
modern architectures like amd64 and sparc, this doesn't work unless =20
those objects are built with -fPIC.

basically it is a result of bad software configuration.  the easy fix =20=

is to just add -fPIC to your CFLAGS for such software. the correct =20
fix is to redo how it builds shared libraries so that -fPIC is only =20
used on those and not the static libraries too.

Vivek Khera, Ph.D.
+1-301-869-4449 x806





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3013A3A0-CEC4-4246-A37C-8F96F0A0E10A>