From owner-freebsd-questions@freebsd.org Wed Apr 25 17:23:13 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CF25FAB031 for ; Wed, 25 Apr 2018 17:23:13 +0000 (UTC) (envelope-from freebsd@dreamchaser.org) Received: from nightmare.dreamchaser.org (ns.dreamchaser.org [66.109.141.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "dreamchaser.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0139B778A2; Wed, 25 Apr 2018 17:23:12 +0000 (UTC) (envelope-from freebsd@dreamchaser.org) Received: from breakaway.dreamchaser.org (breakaway [192.168.151.122]) by nightmare.dreamchaser.org (8.15.2/8.15.2) with ESMTP id w3PHNAGS066845; Wed, 25 Apr 2018 11:23:10 -0600 (MDT) (envelope-from freebsd@dreamchaser.org) Reply-To: freebsd@dreamchaser.org Subject: Re: recommended setup for building ports in development env? To: Tijl Coosemans Cc: FreeBSD Mailing List References: <20180425105447.7d69d2b9@kalimero.tijl.coosemans.org> From: Gary Aitken Message-ID: <0cf315a5-dedf-29b9-13de-32240b52a5ad@dreamchaser.org> Date: Wed, 25 Apr 2018 11:22:30 -0600 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180425105447.7d69d2b9@kalimero.tijl.coosemans.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (nightmare.dreamchaser.org [192.168.151.101]); Wed, 25 Apr 2018 11:23:10 -0600 (MDT) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Apr 2018 17:23:13 -0000 On 04/25/18 02:54, Tijl Coosemans wrote: > On Tue, 24 Apr 2018 19:18:50 -0600 Gary Aitken wrote: >> Asked this on questions a while ago and got no response; >> any thoughts would be much appreciated. >> >> I'm trying to set up a development environment for a few ports. >> I established a parallel ports tree and set the environment variables >> PREFIX=${MYFREEBSD}/usr/local >> WORKDIR=${MYFREEBSD}/var/db/portsnap >> PORTSDIR=${MYFREEBSD}/usr/ports >> >> With those set, I can build and install some things. >> >> For example, I can build and install graphics/ufraw, and with my PATH >> properly extended to include ${MYFREEBSD}/usr/local/bin I can execute it. >> I can also build and install x11/babl into ${MYFREEBSD}. >> Running a normally built gimp finds the new libbabl located in a >> different, non-standard place: >> $ ldd `which gimp` | grep babl >> libbabl-0.1.so.0 => /usr/home/.../usr/local/lib/libbabl-0.1.so.0 >> I didn't expect that to work; nice. >> >> However, when I go to build graphics/gegl it fails because it can't find >> the installed babl: >> ===> gegl-0.3.34 depends on shared library: libbabl-0.1.so - not found >> >> If I set >> LOCALBASE=${MYFREEBSD}/usr/local >> it wants to rebuild all dependencies, since it doesn't find any of the >> normally installed stuff. >> >> Adding >> -L${MYFREEBSD}/usr/local/lib to LDFLAGS >> -I${MYFREEBSD}/usr/local/include to CPPFLAGS >> in the Makefile doesn't solve the problem. >> >> Is there a good solution to this, or do I have to set LOCALBASE with the >> resulting build of everything else, not just the things that I need to >> upgrade for this work? Hopefully there's a way to extend the normal >> search path for port builds? ... > Try setting LIB_DIRS. Its default value is "/lib /usr/lib ${LOCALBASE}/lib". Thanks, that mostly did the trick. However, I still have an issue with a library which resides in a subdir of /usr/local/lib: ===> gegl-0.3.34 depends on shared library: libcgraph.so - not found $ pkg info -l graphviz ... /usr/local/lib/graphviz/libcgraph.so /usr/local/lib/graphviz/libcgraph.so.6 /usr/local/lib/graphviz/libcgraph.so.6.0.0 I tried tweaking the Makefile: LIB_DEPENDS+= graphviz/libcgraph.so:graphics/graphviz but that fails: Error: pattern graphviz/libcgraph.so in LIB_DEPENDS is not valid Also tried some permutations with trailing '/' and '/*' on the directory with no success. I could not find any discussion of this situation in the porter's handbook, probably because it "just works" building in /usr/ports. I can get it to work by explicitly adding the subdir as another element of LIB_DIRS but that seems wrong; I have 92 subdirs to /usr/local/lib. Gary