unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke-list@xs4all.nl>
Cc: guile-devel@gnu.org
Subject: Re: Relocatable installation
Date: Mon, 31 Jan 2011 22:00:42 +0100	[thread overview]
Message-ID: <871v3s4wlh.fsf@gnu.org> (raw)
In-Reply-To: <1296505613.17905.18.camel@vuurvlieg> (Jan Nieuwenhuizen's message of "Mon, 31 Jan 2011 21:26:53 +0100")

Hello!

Jan Nieuwenhuizen <janneke-list@xs4all.nl> writes:

> Ludovic Courtès schreef op za 29-01-2011 om 22:39 [+0100]:

[...]

>> 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.
>
> I realised we need GUILE_LOAD_COMPILED_PATH too.  Added that
> in this new patch.  I added a bit more explanation: this should
> be used together with a sane -rpath $ORIGIN/../lib build.

Ooh, I see.  $ORIGIN is the trick that makes it possible.

Your patch lacks this RPATH magic, though.  Perhaps it should check
whether ‘-Wl,-rpath='$ORIGIN/../lib'’ works?  Is ‘-Wl,-z -Wl,origin’
needed as well when linking ‘guile’?

>> And some of them are hardcoded in the binary,
>> as is usual with the GNU Build System.
>
> Yes, that's why the new, argv0-based directories are prepended
> to those paths.

OK, understood.

>> 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.
>
> No, you can choose all kinds of freaky install directories.  However,
> if you don't do that and use the normal, default directory structure,
> this enables binary packages with guile that can be installed in
> $HOME or on Windows in c:/Program Files/Whatever.

Yes, that’s what I meant: it only works as long as users touch only
$prefix, not $libdir, $bindir, etc.

>> Still I’d be glad to hear arguments for and against.  :-)
>
> One argument for is that we've been using this in LilyPond binary
> packages (for linux and windows) since 2005.

Good point.  :-)

Then I have nothing against this option, as long as it’s off by default.

Thanks,
Ludo’.



  parent reply	other threads:[~2011-01-31 21:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-29 19:41 cross building 1.9.14 for mingw Jan Nieuwenhuizen
2011-01-29 21:34 ` Ludovic Courtès
2011-01-31 20:16   ` Jan Nieuwenhuizen
2011-01-31 20:44     ` Ludovic Courtès
2011-02-15 10:20   ` Jan Nieuwenhuizen
2011-02-22  8:34     ` Andy Wingo
2011-02-24  9:39       ` Jan Nieuwenhuizen
2011-02-24 10:37         ` Ludovic Courtès
2011-03-04 11:11         ` problems solved by AC_LIB_HAVE_LINKFLAGS [was: cross building 1.9.14 for mingw] Andy Wingo
2011-03-20  8:08           ` Jan Nieuwenhuizen
2011-03-20  8:21             ` Ralf Wildenhues
2011-03-20  8:34               ` Jan Nieuwenhuizen
2011-03-20  8:56                 ` Ralf Wildenhues
2011-01-29 21:39 ` Relocatable installation Ludovic Courtès
2011-01-31 20:26   ` Jan Nieuwenhuizen
2011-01-31 20:50     ` Andy Wingo
2011-01-31 20:55       ` Jan Nieuwenhuizen
2011-01-31 21:30         ` Andy Wingo
2011-01-31 21:49           ` Jan Nieuwenhuizen
2011-01-31 21:00     ` Ludovic Courtès [this message]
2011-01-31 21:18       ` Jan Nieuwenhuizen
2011-01-31 22:09         ` Ludovic Courtès
2011-01-31 22:26           ` Jan Nieuwenhuizen
2011-02-14 12:29 ` cross building 1.9.14 for mingw Ludovic Courtès
2011-02-15 10:02   ` Jan Nieuwenhuizen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871v3s4wlh.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guile-devel@gnu.org \
    --cc=janneke-list@xs4all.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).