This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Preinstall thoughts
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: Nathanael Nerode <neroden at twcny dot rr dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: 19 Jan 2003 17:38:28 -0200
- Subject: Re: Preinstall thoughts
- Organization: GCC Team, Red Hat
- References: <20021204235900.GA682@doctormoo>
On Dec 4, 2002, Nathanael Nerode <neroden@twcny.rr.com> wrote:
>>> From the list archives way back in February, Alex seemed to indicate
>>> that this might break something on some systems by leaving the
>>> ${preinstall_prefix} path encoded into libjava.
>>> Is this correct?
>> Yup.
> Why don't we have the same problem already, with the build path for
> libstdc++-v3 being encoded into libjava?
> Or do we?
We don't link libjava with libstdc++-v3.
But even if we did, both are linked with -rpaths that reference the
final install tree. If we specify -rpath pointing at the staging
area, they wouldn't work in the actual prefix. If we specify -rpath
pointing to the final install directory, if we install them in the
staging area, it doesn't work there or, worse, it gets adjusted so as
to work in the staging area, and then, if we install it by simple
copy, it won't work in the final install directory.
>> Libtool really needs some way to be told that a -L flag is only to be
>> used within the build tree.
> Would this solve the problem? :-)
Not the problem above, but it would avoid a problem that is waiting to
happen.
> What exactly gets encoded into the library being built on a perverse
> system? The pathnames of shared libraries it links to?
Yup. Actually, not the pathnames, but the SONAMEs, along with a
single list of directories (RPATH) where they're to be looked for in
addition to the default locations and LD_LIBRARY_PATH.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist Professional serial bug killer