Date: Fri, 11 Mar 2011 11:23:46 +0100 From: David Demelier <demelier.david@gmail.com> To: Warren Block <wblock@wonkity.com> Cc: freebsd-ports@freebsd.org, Ruslan Mahmatkhanov <cvs-src@yandex.ru> Subject: Problem managing ports vs base ncurses Message-ID: <4D79F832.9050102@gmail.com> In-Reply-To: <alpine.BSF.2.00.1103081313000.41605@wonkity.com> References: <4D767B3A.9010006@gmail.com> <4D767E37.3020403@yandex.ru> <alpine.BSF.2.00.1103081313000.41605@wonkity.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D79F832.9050102>