[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFE: allow $ORIGIN in the run-path
From: |
Laszlo PETER |
Subject: |
Re: RFE: allow $ORIGIN in the run-path |
Date: |
Thu, 10 May 2001 20:03:12 +0100 |
Robert Boehne wrote:
>
> Laszlo PETER wrote:
> >
> > Hi libtool developers,
> >
> > This is not really a bug, it's more an RFE:
> > Libtool doesn't support creating relocatable binaries on Solaris.
> >
> > On Solaris you can have Dynamic String Tokens in the run-path.
> > These are replaced with their values by the runtime linker.
> > Such a Dynamic String Token is $ORIGIN, which is replaced
> > with the name of the directory where the object was loaded from.
> >
> > So for example a package that installs its shared libraries
> > into <prefix>/lib and the executables into <prefix>/bin could
> > use '$ORIGIN/../lib' in the run-path. This would make the package
> > relocatable, since it wouldn't depend on absolute paths.
> >
> > Libtool only allows absolute path names in the run-path and exits
> > with an error message if '$ORIGIN' is used.
> >
> > To create relocatable binaries I comment out the test for absolute
> > path names in libtool but I think a general solution would be
> > beneficial for others too.
> >
> > Regards,
> >
> > Laca
>
> Can you escape $ORIGIN/../lib in a way that would cause Libtool
> to interpret it?
>
> Rob
Hmmm.... Not quite sure how you mean.
The goal is to pass this string as it is to ld, so it gets fixed in
the binary, but libtool checks if the path starts with a "/" and if
not then stops with an error. I can't think of a way to escape it
so that it starts with a "/" but the linker receives the original string.
Am I missing something?
Laca