port upgrade problem: libncurses.so.5.6 not found

Mel fbsd.questions at rachie.is-a-geek.net
Thu Nov 13 09:02:18 PST 2008


On Thursday 13 November 2008 17:47:34 Jeremy Chadwick wrote:
> On Thu, Nov 13, 2008 at 08:12:49AM -0800, tfcheng at gmail.com wrote:
> > learned a new thing, here is the output:
> > /usr/local/bin/xgettext:
> > libgettextsrc-0.17.so => /usr/local/lib/libgettextsrc-0.17.so
> > (0x280a9000) libgettextlib-0.17.so =>
> > /usr/local/lib/libgettextlib-0.17.so (0x280de000) libcroco-0.6.so.3 =>
> > /usr/local/lib/libcroco-0.6.so.3 (0x281bb000) libxml2.so.5 =>
> > /usr/local/lib/libxml2.so.5 (0x281ef000)
> > libz.so.4 => /lib/libz.so.4 (0x2831b000)
> > libm.so.5 => /lib/libm.so.5 (0x2832d000)
> > libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x28342000)
> > libicui18n.so.38 => /usr/local/lib/libicui18n.so.38 (0x283f1000)
> > libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28559000)
> > libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28562000)
> > libncurses.so.5.6 => not found (0x0)
> > libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28591000)
> > libbsdxml.so.3 => /lib/libbsdxml.so.3 (0x28685000)
> > libc.so.7 => /lib/libc.so.7 (0x286a3000)
> > libncurses.so.5.6 => not found (0x0)
> > libicuuc.so.38 => /usr/local/lib/libicuuc.so.38 (0x287a4000)
> > libicudata.so.38 => /usr/local/lib/libicudata.so.38 (0x288b9000)
> > libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x29390000)
> > libm.so.4 => /lib/libm.so.4 (0x2945b000)
> >
> > it's weird that it still shows libncurses.so.5.6, any thoughts?? thanks!!
>
> It's not weird at all.  When a binary is linked to a shared library
> (during the linking phase), the library filename (libXXX.so.X.X) is
> stored in the binary, not "libXXX.so".

But the requirement is, that the library exists at link time.

> I'm not sure how/why a rebuild xgettext is linking to what appears to be
> a very old version of libncurses.  libncurses.so.5.6 would be for
> FreeBSD 5.x, I believe; my FreeBSD 6.x machines have libncurses.so.6,
> and my FreeBSD 7.x + CURRENT machines have libncurses.so.7.

It's libncurses.so.5 for FreeBSD 5:
# grep ncurses /usr/ports/misc/compat5x/pkg-plist
lib/compat/libncurses.so.5

The .5.6 is what's bugging me. Aparently, there was a library like this at 
link time, that does not exist anymore.

Can you provide output of:
ldd -a `which xgettext`

so we know which library pulls in libncurses.so.5.6. I doubt it's the binary 
itself.

-- 
Mel

Problem with today's modular software: they start with the modules
    and never get to the software part.


More information about the freebsd-questions mailing list