From owner-freebsd-ports@FreeBSD.ORG Fri Mar 11 10:24:47 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 786B71065676 for ; Fri, 11 Mar 2011 10:24:47 +0000 (UTC) (envelope-from demelier.david@gmail.com) Received: from mail-gw0-f54.google.com (mail-gw0-f54.google.com [74.125.83.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2A16E8FC12 for ; Fri, 11 Mar 2011 10:24:46 +0000 (UTC) Received: by gwb15 with SMTP id 15so986717gwb.13 for ; Fri, 11 Mar 2011 02:24:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=B+UaTmGeRlzmFMv1paaMnnxInUDZ9aBmQdof9wMAbBU=; b=jpx5OnThG7BMOr7Lg1HP2faxHFLGzbD9fjdL6/qr1Jqy9bZIyQ6Kjk9WlHpE3rFajE P7MO8qdaf/0jMUyPJpshF3iS4q+VbGURYouieN0tk3vtpYVOV820nHJ9mabovLfYjcUT /zm6eik3sfyB/fy/7XneT65m46PfBCvkIlSiU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=AAPqETDWAaXX5b/Fzi//Zm4s3pXALzl07bQKDwqgStejM1RiNNxgVmsSYRqdssjs44 GobLzB6p6uvYBdvugBJhn4Ty9i/2Y0BJD/WDiWBRE81YYW5Wt0dZQEKtzc7Ue9UHPmhy PgYUazD+I1fZXDDz2vJpe9rpUXmc+1nhOhu50= Received: by 10.151.62.38 with SMTP id p38mr2518152ybk.12.1299839085485; Fri, 11 Mar 2011 02:24:45 -0800 (PST) Received: from Melon.malikania.fr (wifi-osiris-sec-181-155.u-strasbg.fr [130.79.181.155]) by mx.google.com with ESMTPS id q20sm4782355ybk.5.2011.03.11.02.24.43 (version=SSLv3 cipher=OTHER); Fri, 11 Mar 2011 02:24:45 -0800 (PST) Message-ID: <4D79F832.9050102@gmail.com> Date: Fri, 11 Mar 2011 11:23:46 +0100 From: David Demelier User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.15) Gecko/20110306 Thunderbird/3.1.9 MIME-Version: 1.0 To: Warren Block References: <4D767B3A.9010006@gmail.com> <4D767E37.3020403@yandex.ru> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-ports@freebsd.org, Ruslan Mahmatkhanov Subject: Problem managing ports vs base ncurses X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2011 10:24:47 -0000 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