From owner-freebsd-ports@FreeBSD.ORG Mon Sep 21 16:40:28 2009 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8227106568B for ; Mon, 21 Sep 2009 16:40:27 +0000 (UTC) (envelope-from rittle@latour.labs.mot.com) Received: from mail119.messagelabs.com (mail119.messagelabs.com [216.82.241.195]) by mx1.freebsd.org (Postfix) with ESMTP id 7EEEE8FC0A for ; Mon, 21 Sep 2009 16:40:27 +0000 (UTC) X-VirusChecked: Checked X-Env-Sender: rittle@latour.labs.mot.com X-Msg-Ref: server-8.tower-119.messagelabs.com!1253549619!34093539!1 X-StarScan-Version: 6.1.3; banners=-,-,- X-Originating-IP: [129.188.136.8] Received: (qmail 26088 invoked from network); 21 Sep 2009 16:13:39 -0000 Received: from motgate8.mot.com (HELO motgate8.mot.com) (129.188.136.8) by server-8.tower-119.messagelabs.com with DHE-RSA-AES256-SHA encrypted SMTP; 21 Sep 2009 16:13:39 -0000 Received: from il06exr04.mot.com (il06exr04.mot.com [129.188.137.134]) by motgate8.mot.com (8.14.3/8.14.3) with ESMTP id n8LGDYAu004509 for ; Mon, 21 Sep 2009 09:13:39 -0700 (MST) Received: from il06vts02.mot.com (il06vts02.mot.com [129.188.137.142]) by il06exr04.mot.com (8.13.1/Vontu) with SMTP id n8LGDXu8009892 for ; Mon, 21 Sep 2009 11:13:33 -0500 (CDT) Received: from latour.labs.mot.com (latour.labs.mot.com [10.2.201.16]) by il06exr04.mot.com (8.13.1/8.13.0) with ESMTP id n8LGDXfv009881 for ; Mon, 21 Sep 2009 11:13:33 -0500 (CDT) Received: from latour.labs.mot.com (localhost.labs.mot.com [127.0.0.1]) by latour.labs.mot.com (8.14.3/8.14.3) with ESMTP id n8LGCGbG009695; Mon, 21 Sep 2009 11:12:16 -0500 (CDT) (envelope-from rittle@latour.labs.mot.com) Received: (from rittle@localhost) by latour.labs.mot.com (8.14.3/8.14.3/Submit) id n8LGCGXT009692; Mon, 21 Sep 2009 11:12:16 -0500 (CDT) (envelope-from rittle) Date: Mon, 21 Sep 2009 11:12:16 -0500 (CDT) From: Loren James Rittle Message-Id: <200909211612.n8LGCGXT009692@latour.labs.mot.com> To: Gerald Pfeifer In-reply-to: (message from Gerald Pfeifer on Sun, 20 Sep 2009 23:45:31 +0200 (CEST)) References: User-Agent: SEMI/1.14.4 (Hosorogi) FLIM/1.14.4 (=?ISO-8859-4?Q?Kashiharaji?= =?ISO-8859-4?Q?ng=FE-mae?=) LEMI/1.14.1 Emacs/22.3 (i386-portbld-freebsd7.0) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII X-CFilter-Loop: Reflected Cc: ports@freebsd.org, jasonh@DataIX.net Subject: Re: Need to use some library path before /usr/lib X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: rittle@labs.mot.com List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Sep 2009 16:40:28 -0000 In article , Gerald Pfeifer writes: > On Thu, 17 Sep 2009, Jason J. Hellenthal wrote: >> Something like the following. >> >> [/usr/local/bin/] >> libstdc++.so /usr/local/lib/gcc44/libstdc++.so >> libstdc++.so.6 /usr/local/lib/gcc44/libstdc++.so.6 > That looks quite nice, and I was going to use that, alas I cannot > seem to make it work. Is it possible that libmap.conf does not work > when the name on the left-hand side is the same as on the right-hand > side? Why don't you just install /usr/local/lib/gcc44/libstdc++.so with a different version number? There is no requirement to sequentially assign numbers thus: use 10MmX where X is the number assigned by GNU and Mm is the major/minor number as used by the port. Then, install in standard port place and let standard rules find the right library. (e.g. lang/gcc44 would use: /usr/local/lib/libstdc++.so.10446; lang/gcc45 would use: /usr/local/lib/libstdc++.so.10456) >> On a second note. It would be real nice if the install of a second/third >> compiler would get installed into its own directory rather than placing >> executables in /usr/local/bin/ place them /usr/local/lib/gcc44/bin and >> create the symlinks to them. This would at least help the libmap issue >> and gcc44 for several ports (just building). > It wouldn't really help since the resulting binaries need the very same > workaround. >> Now for a port running (octave as example) have that port spam libmap.conf >> with the proper configuration for just that port the same way perl does to >> make.conf. > That might work, though it looks like a lot of work. It occurs to me > we really need to set this globally. That is one of the implications > those that always pushed for having ports use a distinct compiler may > have missed. That, or using -rpath. > Loren, how would we best have GCC automatically add > -rpath=/usr/local/lib/gcc44 > to every invocation? Presumably spec magic? I can't vouch for having tested it recently (or ever) but: Add --enable-rpath to the configure line. Regards, Loren