On 08/03/2011 21:14, Warren Block wrote:
On Tue, 8 Mar 2011, Ruslan Mahmatkhanov wrote:

08.03.2011 21:53, David Demelier пишет:
Hello,

Please append a message in the /usr/ports/UPDATING about the ncurses
update, I think we need to rebuild every port that depends on :

markand@Groseille ~ $ mplayer
/libexec/ld-elf.so.1: Shared object "libncurses.so.5.7" not found,
required by "mplayer"

Thanks.

As far i understand, ncurses it's a library that placed into base
system, and it updates only when you updating FreeBSD version. General
recommendation about what to do after FreeBSD minor or major update is
to rebuild all the installed ports (i'd did it after `make
delete-old-libs` in /usr/src).

Rebuilding all ports should not be necessary for a minor version upgrade
of FreeBSD, like 8.1 to 8.2.

There are a lot of ports that are linked to the devel/ncurses port and they don't register devel/ncurses as dependency.

checking for gmsgfmt... /usr/local/bin/msgfmt
/libexec/ld-elf.so.1: Shared object "libncurses.so.5.7" not found, required by "xgettext" /libexec/ld-elf.so.1: Shared object "libncurses.so.5.7" not found, required by "msgmerge" /libexec/ld-elf.so.1: Shared object "libncurses.so.5.7" not found, required by "msgfmt"
configure: error: GNU gettext tools not found; required for intltool

(A script failed because of the new ncurses update) and :

markand@Melon /usr/ports/editors/leafpad $ pkg_info -R ncurses-5.8
Information for ncurses-5.8:

Required by:
rxvt-unicode-9.10_1

So there is obviously a problem. I think the problem is : a port that need ncurses and does not set a RUN_DEPENDS or devel/ncurses will attempt to link to the base ncurses or if devel/ncurses is installed it will linked to this version but will *NOT* register this depend.

I think we need to add something like USE_NCURSES in the bsd.port.mk infrastructure, then the port will look itself if ncurses is available in the base system or will add a RUN_DEPENDS that registers the dependency of devel/ncurses port.

As you can see:

markand@Melon ~ $ ldd `which qemu`
/usr/local/bin/qemu:
        libm.so.5 => /lib/libm.so.5 (0x80080b000)
        libthr.so.3 => /lib/libthr.so.3 (0x80092b000)
        libz.so.5 => /lib/libz.so.5 (0x800a44000)
        libgnutls.so.40 => /usr/local/lib/libgnutls.so.40 (0x800b59000)
        libpcap.so.7 => /lib/libpcap.so.7 (0x800d01000)
        libutil.so.8 => /lib/libutil.so.8 (0x800e32000)
        libSDL-1.2.so.11 => /usr/local/lib/libSDL-1.2.so.11 (0x800f42000)
        libX11.so.6 => /usr/local/lib/libX11.so.6 (0x8010aa000)
        libncurses.so.5.8 => /usr/local/lib/libncurses.so.5.8 (0x8012df000)
[... snip ...]

And :

markand@Melon ~ $ pkg_info -r qemu-0.11.1_6 | grep ncurses
markand@Melon ~ $

If you deinstall ncurses, qemu will link to the base system.

Cheers,

--
David Demelier
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to