Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 05 Apr 2001 18:34:04 +0300
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        Ade Lovett <ade@FreeBSD.org>
Cc:        Richard J Kuhns <rjk@grauel.com>, freebsd-ports@FreeBSD.org
Subject:   Re: gtk 1.2.9 seems to break Applix (-stable)
Message-ID:  <3ACC906C.F98E8856@FreeBSD.org>
References:  <15052.31623.537272.790080@moran.grauel.com> <20010405101610.A77764@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Ade Lovett wrote:

> On Thu, Apr 05, 2001 at 09:04:55AM -0500, Richard J Kuhns wrote:
> > I recently installed gtk-1.2.9 on my home box that's running a week-old
> > -stable (-RC), and I can't start Applixware (v5.0) any more.
>
> Both glib and gtk have been updated to 1.2.10 recently, so you should
> rebuild those (especially gtk-1.2.9 which has some vicious i18n bugs)
>
> That's the -ports part done with.  The rest is down to issues with
> applix itself.. if it needs a particularly version of a library (gtk/glib),
> then it should have been statically linked with it.  Bug Applixware about it.
>
> Sorry I can't be of more assistance.

Actually it is not completely an Applix issue. The problem is that a shared
library in FreeBSD doesn't contain information about what lic.so.x it has been
linked with. Thus, rtld picks whatever C library the main executable has been
linked with and there is no gurantee that those two are equal (i.e. the
executable may be linked with libc.so.3, while library with libc.so.4, but rtld
will use libc.so.3 for both).

To workaround this particular situation you can compile a small shared object
with missed function and link it using LD_PRELOAD, i.e.

$ cc -shared -fPIC -DPIC -o /usr/lib/getresuid.so getresuid.c
$ export LD_PRELOAD=/usr/lib/getresuid.so
$ applix

-Maxim


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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