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

Re: rpath issue on 64 bit architectures



Hi,

Il giorno lun, 03/12/2007 alle 04.38 +0100, Leo "costela" Antunes ha
scritto:
> Francesco Namuri wrote:
> > I would like to know, what in your opinion is the best solution.
> > And then, I am mistaken thinking that the problem is related to the fact
> > that lib64/ is a symlink to lib/ ?
> 
> I'm I don't think this is exactly the problem.
> RPATH is meant to help/supplant the linker on runtime, to make sure it
> finds the correct library which carries the symbols needed by the
> executable. There should be no need for it in a system where the linker
> is correctly configured and all installed libraries are in predictable
> places, such as Debian, but in a system where libraries could possibly
> be installed in different places, this becomes useful.

I'm thinking this because after the call of ./configure the generated
libtool file contains all the lib variables set to corresponding lib64
directory eg (after a call of ./configure):

libtool:
"
[...]

# Compile-time system search path for libraries
sys_lib_search_path_spec="/usr/lib64 /lib64 /usr/local/lib64"

# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/usr/lib64 /lib64 /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu "

[...]

# Compile-time system search path for libraries
sys_lib_search_path_spec="/usr/lib64 /lib64 /usr/local/lib64"

# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/usr/lib64 /lib64 /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu "
"

with this libtool, calling make I see that rpath are set, but if I patch
the libtool changing all lib64 to lib eg:

libtool:
"
[...]

# Compile-time system search path for libraries
sys_lib_search_path_spec="/usr/lib /lib /usr/local/lib"

# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/usr/lib /lib /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu "

[...]

# Compile-time system search path for libraries
sys_lib_search_path_spec="/usr/lib /lib /usr/local/lib"

# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/usr/lib /lib /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu "
"

the rpath is not used...

So I thought that are the problem is related to the symlink...

I've also tried with the package that is trying to package Jan
(gwyddion), same thing...

> With that in mind, what I interpret from the given reason is that
> libtool could be trying to deal with a possibly mixed 32/64
> installation, where it wouldn't trust the linker to find the correct
> library. This isn't needed for Debian.
> 
> At any rate, this is just speculation.
> What you could suggest upstream is that - if he really believes rpath to
> still be useful and doesn't want to completely abandon it as other gnome
> projects have done - he could implement something like the widely used
> AC_RELOCATABLE macro to his scripts, to make a '--disable-rpath' option
> available at configure time. This in turn could be added to debian/rules
> and the chrpath hack could be removed.
> 
> Hope it helps.
Thanks very much, all help it's welcome when trying to learn
something... :)

> Also, something I hadn't seen while sponsoring the package: it seems
> that you accidentally copied the rules file to a file named '\' on the
> base source code dir.

Ops, :)
it's strange, I don't know what happens... I'll fix this on next
upload...

Cheers,
francesco

-- 
Francesco Namuri
francesco(at)namuri(dot)it   http://namuri.it/
id gpg key: 21A4702A         accipiter@jabber.org

Attachment: signature.asc
Description: Questa =?ISO-8859-1?Q?=E8?= una parte del messaggio firmata digitalmente


Reply to: