Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Mar 2005 20:10:38 -0500 (EST)
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        Chuck Robey <chuckr@chuckr.org>
Cc:        FreeBSD-gnome@freebsd.org
Subject:   Re: libm
Message-ID:  <20050313200753.R65041@shumai.marcuscom.com>
In-Reply-To: <20050313194456.G74062@april.chuckr.org>
References:  <20050313191932.O74062@april.chuckr.org> <20050313193416.M65041@shumai.marcuscom.com> <20050313194456.G74062@april.chuckr.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 13 Mar 2005, Chuck Robey wrote:

> On Sun, 13 Mar 2005, Joe Marcus Clarke wrote:
>
>> On Sun, 13 Mar 2005, Chuck Robey wrote:
>>
>>> I'm still trying to build gnome-2.10 ... it's broken right now in building
>>> audio/arts.  The current error is one that's becoming depressingly
>>> familiar: moc died, it's missing a "libm.so.2".  In the past, for all
>>> these kind of errors, I would track down the executable that needed the
>>> old libm, but I am wondering, maybe it wouldn't be all that horrible a
>>> thing, to fake it out?
>>
>> It could potentially be quite horrible to fake out.
>>
>>>
>>> Would it work for me, do you think, to have a softlink, from libc to libm?
>>> Woud it hurt anything? (As long as I didn't try to propagate anything that
>>> wanted to use libm!)  Would it actually work, solve that dependency
>>> problem?
>>
>> No.  you should instead hunt down the library that is still linked to
>> libm.so.2, and rebuild it.
>>
>>>
>>> Or am I actually, for some reason, really better served by tracking down
>>> the old software and relink it?  That's a heck of a lot of extra work, you
>>> understand, right?
>>
>> Not that much work, you can wrap a find command around it:
>>
>> find /usr/local/lib -name "*.so" | xargs ldd > /tmp/local.out
>
> Joe, it's not the *library* that needs updating, it's the executeable that
> uses the lib that needs the relinking, and its truly difficult to track
> all those down.

No it isn't.  If an executable is still inked to libm.so.2, use:

find /usr/local/bin -type f | xargs ldd > /tmp/local.out

I've done this meany times, and it is not difficult, and it does work.

>
> You'll probably have to admit, even yourself, that your reasoning above is
> sort of thin ... it's "horrible".  Huh.  You're asking for a lot of work,
> like I said.  I might be wearing out my welcome, but could you give me a
> word or two, exactly why is it so horrible an idea, as long as I am
> careful in how I export software buit in such an environment?

I'm not asking anything.  I'm simply telling you that the best solution is 
to track down the binary still inked to libm.so.2, and rebuild the port 
that installs it.  It isn't a lot of work, and it is safer than creating 
symlinks on your system that you may forget about in time.

Joe

PGP Key : http://www.marcuscom.com/pgp.asc



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