Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jun 2003 07:50:29 -0500
From:      "Jacques A. Vidrine" <nectar@FreeBSD.org>
To:        David Leimbach <leimy2k@mac.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Undefined symbol "getpwuid_r"
Message-ID:  <20030603125029.GA5055@madman.celabo.org>
In-Reply-To: <baiel2$64q$1@FreeBSD.csie.NCTU.edu.tw>
References:  <baiel2$64q$1@FreeBSD.csie.NCTU.edu.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
[Sorry for delayed reply.  I'm offline mostly lately.]

On Thu, May 22, 2003 at 12:09:06PM +0000, David Leimbach wrote:
> 
> On Thursday, May 22, 2003, at 03:53 AM, CARTER Anthony wrote:
> 
> > Hi,
> >
> > Just done a buildworld and installworld from yesterdays CVSUp (today, 
> > 22nd,
> > 10:51am GMT+1).
> >
> > However, whenever I launch ymessenger now I get:
> >
> > /usr/libexec/ld-elf.so.1: /usr/local/lib/libglib12.so.3: Undefined 
> > symbol
> > "getpwuid_r"
> >
> > Has anyone got an idea about this?
[snip]
> >
> > If any further info is required just let me know.
>
> Have you recompiled the ymessenger code?  It sounds as if
> some .so got replaced from an old compile and the code should
> no longer link if you rebuild it.
> 
> The new NS stuff Jacques is working on most likely has caused
> this.  It looks as if you may just need a rebuild of ymessenger.


I don't think it is my fault :-)

ymessenger is a binary port.  It is linked against libc.so.4 (IIRC),
which does not have getpwuid_r.  Therefore, when ymessenger loads
libglib12.so.3 (which was built against the newer libc.so.5), glib
cannot find getpwuid_r in libc.so.4 (naturally).

If getpwuid_r hadn't gotten you, something else probably would have :-)

Basically, ymessenger can't really run on later versions of FreeBSD.
It is dynamically linked against 12 libraries (besides libc.so.4),
many of which have had ABI changes.

I had a need to run ymessenger on FreeBSD 5 several weeks ago.  In
order to do so, I had to go back to old 4.5 CDs and extract libglib,
libgtk, and so on into a special environment just to run ymessenger.

You are better off running some other client, e.g. GAIM.


But, if you insist:

WARNING: This could have any effect, including but not limited to data
loss, hair loss, self-esteem issues, deforestation, defenestration,
etc. etc.  By breathing, you agree to hold me harmless due to any of
these effects and any other effects directly, indirectly, or not
caused by following these directions or reading this message.

Download 
<URL: http://people.freebsd.org/~nectar/ymessenger-hack.tgz > and extract it
somewhere (BUT NOT IN YOUR ROOT DIRECTORY) and run it as shown.


  % mkdir $HOME/ymessenger
  % cd $HOME/ymessenger
  % tar zxvf /path/to/ymessenger-hack.tgz
  % env LD_LIBRARY_PATH=$PWD/usr/local/lib ./usr/local/bin/ymessenger.bin


Someone with time on hand should update the ymessenger port to install
the dependent libraries, too.  *shrug*

Cheers,
-- 
Jacques Vidrine   . NTT/Verio SME      . FreeBSD UNIX       . Heimdal
nectar@celabo.org . jvidrine@verio.net . nectar@freebsd.org . nectar@kth.se



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