From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Relocatable installation Date: Sat, 29 Jan 2011 22:39:42 +0100 Message-ID: <87lj2375k1.fsf@gnu.org> References: <1296330082.8111.371.camel@vuurvlieg> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1296337210 7715 80.91.229.12 (29 Jan 2011 21:40:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 29 Jan 2011 21:40:10 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Jan 29 22:40:06 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PjIWc-0005eV-7w for guile-devel@m.gmane.org; Sat, 29 Jan 2011 22:40:06 +0100 Original-Received: from localhost ([127.0.0.1]:47642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PjIWb-0005ZL-L1 for guile-devel@m.gmane.org; Sat, 29 Jan 2011 16:40:05 -0500 Original-Received: from [140.186.70.92] (port=58757 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PjIWR-0005ZF-Qn for guile-devel@gnu.org; Sat, 29 Jan 2011 16:39:56 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PjIWQ-0003El-OQ for guile-devel@gnu.org; Sat, 29 Jan 2011 16:39:55 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:43582) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PjIWQ-0003Ef-7u for guile-devel@gnu.org; Sat, 29 Jan 2011 16:39:54 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PjIWP-0005Zv-8z for guile-devel@gnu.org; Sat, 29 Jan 2011 22:39:53 +0100 Original-Received: from reverse-83.fdn.fr ([80.67.176.83]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 29 Jan 2011 22:39:53 +0100 Original-Received: from ludo by reverse-83.fdn.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 29 Jan 2011 22:39:53 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 44 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: reverse-83.fdn.fr X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 =?iso-8859-1?Q?Pluvi=F4se?= an 219 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) Cancel-Lock: sha1:XNbGoRE14FqsbH0x1FQWqUmHxoY= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:11414 Archived-At: Hi Jan, Jan Nieuwenhuizen writes: > From ed1507425da819363cc6592ee033076838c82051 Mon Sep 17 00:00:00 2001 > From: Jan Nieuwenhuizen > Date: Sat, 29 Jan 2011 17:31:17 +0100 > Subject: [PATCH 1/4] Add dynamic relocation support, default off. > > 2005-06-08 Jan Nieuwenhuizen > > * configure.in: Add --enable-relocation option. Default off. > > libguile/ ChangeLog > > 2005-06-09 Jan Nieuwenhuizen > > Experimental relocation patch. > > * load.c (scm_init_argv0_relocation)[ARGV0_RELOCATION]: New > function. > > (scm_init_load_path)[ARGV0_RELOCATION]: Use it. > > * load.c (scm_c_argv0_relocation)[ARGV0_RELOCATION]: > > * guile.c (main)[ARGV0_RELOCATION]: Use it to append from > executable location derived scm library directory. > [__MINGW32__|__CYGWIN__]: Append directory of executable to PATH. I’m not sure about this patch. My feeling is that it would take more than this to allow Guile to be truly relocatable, e.g., all of $GUILE_LOAD_PATH, $GUILE_LOAD_COMPILED_PATH, $LD_LIBRARY_PATH, etc. would have to work. And some of them are hardcoded in the binary, as is usual with the GNU Build System. Furthermore, I think all these paths cannot be reliably inferred from argv[0]. For instance because libdir doesn’t have to be $bindir/../lib. It doesn’t seem to fit well in the GNU software installation process. Still I’d be glad to hear arguments for and against. :-) Thanks, Ludo’.