From owner-freebsd-ports@FreeBSD.ORG Mon Jul 30 23:20:12 2012 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 50BC4106564A; Mon, 30 Jul 2012 23:20:12 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from hammer.pct.niksun.com (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id DA0BF8FC12; Mon, 30 Jul 2012 23:20:11 +0000 (UTC) Message-ID: <501716AB.4040909@FreeBSD.org> Date: Mon, 30 Jul 2012 19:20:11 -0400 From: Jung-uk Kim User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:13.0) Gecko/20120626 Thunderbird/13.0.1 MIME-Version: 1.0 To: Andriy Gapon References: <500D91AA.70502@FreeBSD.org> <500DB55A.8000301@FreeBSD.org> <500DB8CE.4040206@FreeBSD.org> <500DBA56.5040800@FreeBSD.org> <500F13CC.4070706@FreeBSD.org> <500F9C55.1030009@FreeBSD.org> <50108FEF.3030405@FreeBSD.org> <50113592.3000906@FreeBSD.org> In-Reply-To: <50113592.3000906@FreeBSD.org> X-Enigmail-Version: 1.4.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-ports@freebsd.org Subject: Re: [RFC] LibreOffice build issues 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: Mon, 30 Jul 2012 23:20:12 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-07-26 08:18:26 -0400, Andriy Gapon wrote: > on 26/07/2012 03:31 Jung-uk Kim said the following: >> I guess you had installed OpenSSL from ports. ;-) > > Yes, bingo. > >> Now I am able to build it with GCC 4.6: >> >> http://people.freebsd.org/~jkim/libreoffice-20120725.tar.bz2 >> >> Basically, bsd.openssl.mk adds -rpath=/usr/lib:/usr/local/lib to >> LDFLAGS first, then bsd.gcc.mk adds >> -Wl,-rpath=/usr/local/lib/gcc46 to it later. >> >> Before: % make -V LDFLAGS -rpath=/usr/lib:/usr/local/lib % make >> -V LDFLAGS USE_OPENSSL_BASE=yes -rpath=/usr/lib:/usr/local/lib % >> make -V LDFLAGS USE_OPENSSL_PORT=yes -rpath=/usr/local/lib % make >> -V LDFLAGS USE_OPENSSL_BASE=yes WITH_GCC=yes >> -rpath=/usr/lib:/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc46 % >> make -V LDFLAGS USE_OPENSSL_PORT=yes WITH_GCC=yes >> -rpath=/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc46 >> >> For WITH_GCC case, I just defined OPENSSL_LDFLAGS as >> "-rpath=/usr/local/lib/gcc46". >> >> After: % make -V LDFLAGS -rpath=/usr/lib:/usr/local/lib % make -V >> LDFLAGS USE_OPENSSL_BASE=yes -rpath=/usr/lib:/usr/local/lib % >> make -V LDFLAGS USE_OPENSSL_PORT=yes -rpath=/usr/local/lib % make >> -V LDFLAGS USE_OPENSSL_BASE=yes WITH_GCC=yes >> -rpath=/usr/local/lib/gcc46 -rpath=/usr/lib:/usr/local/lib >> -Wl,-rpath=/usr/local/lib/gcc46 % make -V LDFLAGS >> USE_OPENSSL_PORT=yes WITH_GCC=yes -rpath=/usr/local/lib/gcc46 >> -rpath=/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc46 >> >> It's ugly but it's good enough for now. >> >> Please note this is really a bug in bsd.openssl.mk (and/or >> bsd.port.mk depending on how you look at it). It shouldn't have >> added /usr/lib in the first place. It is only needed for >> OPENSSL_PORT case and just /usr/local/lib itself. Also, >> bsd.gcc.mk had to be included before all bsd.foo.mk, whatever >> touches rpath. > > Good analysis and catch! I think that just dropping /usr/lib from > rpath should be sufficient, but the way you are doing it could be > safer in the long term. I found that it doesn't really work, either. For example, when cppunit is installed, /usr/local/lib/libcppunit.so is always picked up instead of local libcppunit.so. Therefore, bsd.openssl.mk should never ever set LDFLAGS globally IMHO. Jung-uk Kim -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlAXFqsACgkQmlay1b9qnVN4IQCdFUo+QjJto7zoGX2f1W6Jhvfa SxgAn2p1bP8bF9guoAmEIylU7kpKn/F0 =cTWj -----END PGP SIGNATURE-----