Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Nov 2011 18:32:57 GMT
From:      Maxim Ignatenko <gelraen.ua@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/162340: Update: net-p2p/eiskaltdcpp-{lib,daemon,qt,gtk}
Message-ID:  <201111061832.pA6IWvGt076608@red.freebsd.org>
Resent-Message-ID: <201111061840.pA6IeBn9025792@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         162340
>Category:       ports
>Synopsis:       Update: net-p2p/eiskaltdcpp-{lib,daemon,qt,gtk}
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 06 18:40:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Maxim Ignatenko
>Release:        8-STABLE
>Organization:
>Environment:
>Description:
On some machines resulting binaries contains "/usr/lib" before "/usr/local/lib/gcc45" in rpath and user gets something like this if tries to launch that binary:

/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.10 required by /usr/local/bin/eiskaltdcpp-gtk not found

Attached patch adds BUILD_DEPENDS on devel/chrpath, which is used to overwrite rpath in built binaries (-DCMAKE_INSTALL_RPATH only aappends directories to rpath)
>How-To-Repeat:
make install clean -C /usr/ports/net-p2p/eiskaltdcpp-daemon && readelf -d /usr/local/bin/eiskaltdcpp-daemon | grep RPATH
>Fix:
Patch attached

Patch attached with submission follows:

diff --git a/net-p2p/eiskaltdcpp-daemon/Makefile b/net-p2p/eiskaltdcpp-daemon/Makefile
index fc688c0..3bfab50 100644
--- a/net-p2p/eiskaltdcpp-daemon/Makefile
+++ b/net-p2p/eiskaltdcpp-daemon/Makefile
@@ -7,6 +7,7 @@
 
 PORTNAME=	eiskaltdcpp-daemon
 PORTVERSION=	2.2.4
+PORTREVISION=	1
 CATEGORIES=	net-p2p
 MASTER_SITES=	GOOGLE_CODE
 DISTNAME=	eiskaltdcpp-${DISTVERSION}
@@ -17,6 +18,7 @@ COMMENT=	EiskaltDC++ Direct Connect client daemon
 LICENSE=	GPLv3
 
 LIB_DEPENDS+=	eiskaltdcpp:${PORTSDIR}/net-p2p/eiskaltdcpp-lib
+BUILD_DEPENDS+=	chrpath:${PORTSDIR}/devel/chrpath
 
 PROJECTHOST=	eiskaltdc
 
@@ -63,4 +65,9 @@ CMAKE_ARGS+=	-DXMLRPC_DAEMON:BOOL=OFF
 USE_OPENSSL_PORT=yes
 .endif
 
+GCC_LIBS=	"${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}"
+
+post-build:
+	${LOCALBASE}/bin/chrpath -r "${GCC_LIBS}" "${WRKSRC}/nasdc/${PORTNAME}"
+
 .include <bsd.port.post.mk>
diff --git a/net-p2p/eiskaltdcpp-gtk/Makefile b/net-p2p/eiskaltdcpp-gtk/Makefile
index 3f81028..40392af 100644
--- a/net-p2p/eiskaltdcpp-gtk/Makefile
+++ b/net-p2p/eiskaltdcpp-gtk/Makefile
@@ -7,6 +7,7 @@
 
 PORTNAME=	eiskaltdcpp-gtk
 PORTVERSION=	2.2.4
+PORTREVISION=	1
 CATEGORIES=	net-p2p
 MASTER_SITES=	GOOGLE_CODE
 DISTNAME=	eiskaltdcpp-${DISTVERSION}
@@ -18,6 +19,7 @@ LICENSE=	GPLv3
 
 RUN_DEPENDS=	${LOCALBASE}/share/eiskaltdcpp/keep_me:${PORTSDIR}/net-p2p/eiskaltdcpp-data
 LIB_DEPENDS=	eiskaltdcpp:${PORTSDIR}/net-p2p/eiskaltdcpp-lib
+BUILD_DEPENDS+=	chrpath:${PORTSDIR}/devel/chrpath
 
 CMAKE_ARGS+=	-DBUILD_LIB:BOOL=OFF
 PROJECTHOST=	eiskaltdc
@@ -73,4 +75,9 @@ CMAKE_ARGS+=	-DUSE_LIBNOTIFY:BOOL=OFF
 USE_OPENSSL_PORT=yes
 .endif
 
+GCC_LIBS=	"${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}"
+
+post-build:
+	${LOCALBASE}/bin/chrpath -r "${GCC_LIBS}" "${WRKSRC}/${PORTNAME}/${PORTNAME}"
+
 .include <bsd.port.mk>
diff --git a/net-p2p/eiskaltdcpp-lib/Makefile b/net-p2p/eiskaltdcpp-lib/Makefile
index 96cf777..f220523 100644
--- a/net-p2p/eiskaltdcpp-lib/Makefile
+++ b/net-p2p/eiskaltdcpp-lib/Makefile
@@ -7,6 +7,7 @@
 
 PORTNAME=	eiskaltdcpp-lib
 PORTVERSION=	2.2.4
+PORTREVISION=	1
 CATEGORIES=	net-p2p
 MASTER_SITES=	GOOGLE_CODE
 DISTNAME=	eiskaltdcpp-${DISTVERSION}
@@ -17,6 +18,7 @@ COMMENT=	A Direct Connect client shared library
 LICENSE=	GPLv3
 
 LIB_DEPENDS=	boost_system:${PORTSDIR}/devel/boost-libs
+BUILD_DEPENDS+=	chrpath:${PORTSDIR}/devel/chrpath
 
 PROJECTHOST=	eiskaltdc
 
@@ -76,4 +78,9 @@ CMAKE_ARGS+=	-DWITH_DHT:BOOL=OFF
 USE_OPENSSL_PORT=yes
 .endif
 
+GCC_LIBS=	"${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}"
+
+post-build:
+	${LOCALBASE}/bin/chrpath -r "${GCC_LIBS}" "${WRKSRC}/dcpp/libeiskaltdcpp.so.2.2"
+
 .include <bsd.port.post.mk>
diff --git a/net-p2p/eiskaltdcpp-qt/Makefile b/net-p2p/eiskaltdcpp-qt/Makefile
index 6105321..32ea6f1 100644
--- a/net-p2p/eiskaltdcpp-qt/Makefile
+++ b/net-p2p/eiskaltdcpp-qt/Makefile
@@ -7,6 +7,7 @@
 
 PORTNAME=	eiskaltdcpp-qt
 PORTVERSION=	2.2.4
+PORTREVISION=	1
 CATEGORIES=	net-p2p
 MASTER_SITES=	GOOGLE_CODE
 DISTNAME=	eiskaltdcpp-${DISTVERSION}
@@ -20,6 +21,8 @@ RUN_DEPENDS=	${LOCALBASE}/share/eiskaltdcpp/keep_me:${PORTSDIR}/net-p2p/eiskaltd
 
 LIB_DEPENDS+=	eiskaltdcpp:${PORTSDIR}/net-p2p/eiskaltdcpp-lib \
 		execinfo:${PORTSDIR}/devel/libexecinfo
+BUILD_DEPENDS+=	chrpath:${PORTSDIR}/devel/chrpath
+
 CMAKE_ARGS+=	-DBUILD_LIB:BOOL=OFF
 
 PROJECTHOST=	eiskaltdc
@@ -114,4 +117,9 @@ CMAKE_ARGS+=	-DUSE_MINIUPNP:BOOL=OFF
 USE_OPENSSL_PORT=yes
 .endif
 
+GCC_LIBS=	"${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}"
+
+post-build:
+	${LOCALBASE}/bin/chrpath -r "${GCC_LIBS}" "${WRKSRC}/${PORTNAME}/${PORTNAME}"
+
 .include <bsd.port.post.mk>


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111061832.pA6IWvGt076608>