From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtprelay03.ispgateway.de ([80.67.31.41]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1UIh6v-0004jG-Kd for ptxdist@pengutronix.de; Thu, 21 Mar 2013 16:08:58 +0100 Received: from [78.47.165.117] (helo=regiomontanus.your-server.de) by smtprelay03.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1UIh6v-0000o4-BL for ptxdist@pengutronix.de; Thu, 21 Mar 2013 16:08:57 +0100 From: Bernhard Walle Date: Thu, 21 Mar 2013 16:08:54 +0100 Message-Id: <1363878534-3157-1-git-send-email-bernhard@bwalle.de> In-Reply-To: <1363877889-29002-1-git-send-email-bernhard@bwalle.de> References: <1363877889-29002-1-git-send-email-bernhard@bwalle.de> Subject: [ptxdist] [PATCH] ptxd_install_shared: Fix missing links when ${src} is a symlink itself Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de When "${src}" is a symlink to some other directory, then not all symbolic links to the library are installed. In my case I'm using a ct-ng-based toolchain where ${TOOLCHAIN_BASE}/arm-unknown-linux-gnueabi/lib/ is a symbolic link to sysroot/lib/. As a result, install_copy_toolchain_lib with libstdc++.so doesn't install the libstdc++.so.6 symbolic link and so C++ programs don't start. Signed-off-by: Bernhard Walle --- First version missed the '&&'. scripts/lib/ptxd_make_xpkg_pkg.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh b/scripts/lib/ptxd_make_xpkg_pkg.sh index 476ad58..b32461e 100644 --- a/scripts/lib/ptxd_make_xpkg_pkg.sh +++ b/scripts/lib/ptxd_make_xpkg_pkg.sh @@ -694,6 +694,7 @@ ptxd_install_shared() { ptxd_install_file "${src}" "${dst}/${filename}" "${usr}" "${grp}" "${mod}" && + src="$(readlink -f "${src}")" && find "$(dirname "${src}")" -maxdepth 1 -type l | while read file; do if [ "$(basename "$(readlink -f "${file}")")" = "${filename}" ]; then local link="${dst}/$(basename "${file}")" -- 1.8.2 -- ptxdist mailing list ptxdist@pengutronix.de