guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Relocatable installation


From: Ludovic Courtès
Subject: Re: Relocatable installation
Date: Mon, 31 Jan 2011 22:00:42 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux)

Hello!

Jan Nieuwenhuizen <address@hidden> 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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]