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’.
next prev 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).