From owner-freebsd-ports-bugs@FreeBSD.ORG Mon May 7 15:40:05 2007 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0937C16A407 for ; Mon, 7 May 2007 15:40:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id DF04513C468 for ; Mon, 7 May 2007 15:40:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l47Fe4PZ099278 for ; Mon, 7 May 2007 15:40:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l47Fe4or099277; Mon, 7 May 2007 15:40:04 GMT (envelope-from gnats) Resent-Date: Mon, 7 May 2007 15:40:04 GMT Resent-Message-Id: <200705071540.l47Fe4or099277@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Thierry Thomas Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0970616A479 for ; Mon, 7 May 2007 15:30:14 +0000 (UTC) (envelope-from thierry@pompo.net) Received: from graf.pompo.net (graf.pompo.net [81.56.186.139]) by mx1.freebsd.org (Postfix) with ESMTP id B7E2713C457 for ; Mon, 7 May 2007 15:30:13 +0000 (UTC) (envelope-from thierry@pompo.net) Received: by graf.pompo.net (Postfix, from userid 1001) id A13CA1142F; Mon, 7 May 2007 17:30:12 +0200 (CEST) Message-Id: <20070507153012.A13CA1142F@graf.pompo.net> Date: Mon, 7 May 2007 17:30:12 +0200 (CEST) From: Thierry Thomas To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/112497: Mk/bsd.port.mk: make ldconfig permanent for non-default prefixes. X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Thierry Thomas List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 May 2007 15:40:05 -0000 >Number: 112497 >Category: ports >Synopsis: Mk/bsd.port.mk: make ldconfig permanent for non-default prefixes. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Mon May 07 15:40:04 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Thierry Thomas >Release: FreeBSD 6.2-STABLE i386 >Organization: Kabbale Eros >Environment: System: FreeBSD graf.pompo.net 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Jan 28 10:29:56 CET 2007 thierry@graf.pompo.net:/usr/obj/usr/src/sys/GRAF060511 i386 >Description: When a port installs shared libraries using a non-default PREFIX ldconfig registers these libraries, but this registration does not survive after a reboot, because the configuration file has not been written. >How-To-Repeat: E.g. install the port net/mpich2 (as a port or as a package). At the end of the installation, ldconfig is launched: ===> Running ldconfig /sbin/ldconfig -m /usr/local/mpich2/lib and you can check that the libraries are found by ldconfig -r | grep mpich2 search directories: /lib:/usr/lib:/usr/lib/compat:/usr/X11R6/lib:/usr/local/lib:...:/usr/local/mpich2/lib 1202:-lfmpich.0 => /usr/local/mpich2/lib/libfmpich.so.0 1203:-lmpich.0 => /usr/local/mpich2/lib/libmpich.so.0 But the file /usr/local/libdata/ldconfig/mpich2 does not exists, hence /usr/local/mpich2/lib won't be scanned by /etc/rc.d/ldconfig and after a reboot `ldconfig -r | grep mpich2' won't return anything. >Fix: The following patch defines the default prefix, and registers UNIQUENAME under LDCONFIG_DIR if the actual prefix is different: --- bsd.port.mk.diff begins here --- --- Mk/bsd.port.mk.orig Mon Apr 9 21:08:51 2007 +++ Mk/bsd.port.mk Mon May 7 16:53:06 2007 @@ -1402,11 +1402,14 @@ .endif .if defined(USE_X_PREFIX) PREFIX?= ${X11BASE_REL} +DEF_PREFIX= ${X11BASE_REL} .elif defined(USE_LINUX_PREFIX) PREFIX?= ${LINUXBASE_REL} +DEF_PREFIX= ${LINUXBASE_REL} NO_MTREE= yes .else PREFIX?= ${LOCALBASE_REL} +DEF_PREFIX= ${LOCALBASE_REL} .endif .if defined(USE_LINUX_PREFIX) @@ -3862,14 +3865,14 @@ ${CHROOT} ${DESTDIR} -${LDCONFIG} -m ${USE_LDCONFIG} .endif .endif -.if ${USE_LDCONFIG} != "${PREFIX}/lib" +.if (${USE_LDCONFIG} != "${PREFIX}/lib") || (${PREFIX} != ${DEF_PREFIX}) @${ECHO_MSG} "===> Installing ldconfig configuration file" .if defined(NO_LDCONFIG_MTREE) @${MKDIR} ${PREFIX}/${LDCONFIG_DIR} .endif @${ECHO_CMD} ${USE_LDCONFIG} | ${TR} ' ' '\n' \ - > ${PREFIX}/${LDCONFIG_DIR}/${UNIQUENAME} - @${ECHO_CMD} "@cwd" >> ${TMPPLIST} + > ${DEF_PREFIX}/${LDCONFIG_DIR}/${UNIQUENAME} + @${ECHO_CMD} "@cwd ${DEF_PREFIX}" >> ${TMPPLIST} @${ECHO_CMD} ${LDCONFIG_DIR}/${UNIQUENAME} >> ${TMPPLIST} .if defined(NO_LDCONFIG_MTREE) @${ECHO_CMD} "@unexec rmdir ${LDCONFIG_DIR} >/dev/null 2>&1 || true" >> ${TMPPLIST} --- bsd.port.mk.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: