Date: Fri, 11 Mar 2011 21:28:28 +0000 From: Chris Rees <utisoft@gmail.com> To: David Demelier <demelier.david@gmail.com> Cc: Warren Block <wblock@wonkity.com>, Ruslan Mahmatkhanov <cvs-src@yandex.ru>, freebsd-ports@freebsd.org Subject: Re: Problem managing ports vs base ncurses Message-ID: <AANLkTi=t%2BaraEF1cxnTQ55F-12uhz6xwd9ZN2kvqupC1@mail.gmail.com> In-Reply-To: <4D79F832.9050102@gmail.com> References: <4D767B3A.9010006@gmail.com> <4D767E37.3020403@yandex.ru> <alpine.BSF.2.00.1103081313000.41605@wonkity.com> <4D79F832.9050102@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11 March 2011 10:23, David Demelier <demelier.david@gmail.com> wrote: > On 08/03/2011 21:14, Warren Block wrote: >> >> On Tue, 8 Mar 2011, Ruslan Mahmatkhanov wrote: >> >>> 08.03.2011 21:53, David Demelier =D0=C9=DB=C5=D4: >>>> >>>> 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 th= ey > 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, requir= ed > by "xgettext" > /libexec/ld-elf.so.1: Shared object "libncurses.so.5.7" not found, requir= ed > by "msgmerge" > /libexec/ld-elf.so.1: Shared object "libncurses.so.5.7" not found, requir= ed > 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 nee= d > ncurses and does not set a RUN_DEPENDS or devel/ncurses will attempt to l= ink > to the base ncurses or if devel/ncurses is installed it will linked to th= is > 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 o= f > devel/ncurses port. > > As you can see: > > markand@Melon ~ $ ldd `which qemu` > /usr/local/bin/qemu: > =9A =9A =9A =9Alibm.so.5 =3D> /lib/libm.so.5 (0x80080b000) > =9A =9A =9A =9Alibthr.so.3 =3D> /lib/libthr.so.3 (0x80092b000) > =9A =9A =9A =9Alibz.so.5 =3D> /lib/libz.so.5 (0x800a44000) > =9A =9A =9A =9Alibgnutls.so.40 =3D> /usr/local/lib/libgnutls.so.40 (0x800= b59000) > =9A =9A =9A =9Alibpcap.so.7 =3D> /lib/libpcap.so.7 (0x800d01000) > =9A =9A =9A =9Alibutil.so.8 =3D> /lib/libutil.so.8 (0x800e32000) > =9A =9A =9A =9AlibSDL-1.2.so.11 =3D> /usr/local/lib/libSDL-1.2.so.11 (0x8= 00f42000) > =9A =9A =9A =9AlibX11.so.6 =3D> /usr/local/lib/libX11.so.6 (0x8010aa000) > =9A =9A =9A =9Alibncurses.so.5.8 =3D> /usr/local/lib/libncurses.so.5.8 (0= x8012df000) > [... 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. > No, the problem is people not following [1]. I'll fix qemu in the morning to cover this. Chris [1] http://www.freebsd.org/doc/en/books/porters-handbook/book.html#AEN2613
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=t%2BaraEF1cxnTQ55F-12uhz6xwd9ZN2kvqupC1>