[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libtool does not recognize "/usr/lib64" as default location for librarie
From: |
Jirka Hladky |
Subject: |
libtool does not recognize "/usr/lib64" as default location for libraries |
Date: |
Wed, 23 Jun 2010 11:49:40 +0200 |
Hello,
we have run into a problem where package developed on Debian and packaged for
Fedora had rpath included in binaries. This is bad and forbidden by rpm rules
(rpmlint will mark it as an error).
After long discussion with upstream and Fedora packagers mailing list we have
found a reason for this bug: libtool does not consider "/usr/lib64" as default
location for libraries. On Fedora for x86_64 it's however default location for
libraries.
We would kindly ask you to incorporate patch to add "/usr/lib64" as default
location for libraries to the official source code.
http://cvs.fedoraproject.org/viewvc/rpms/libtool/devel/libtool-2.2.6a-
rpath.patch?content-type=text%2Fplain&view=co
This will enable packages developed on other than Fedora systems (with
included libtool script) to be compiled properly on Fedora.
Thanks a lot!
Jirka
Please check this mailing thread:
http://lists.fedoraproject.org/pipermail/packaging/2010-June/007182.html
Most important e-mail is this one:
=========================================================
From: Mamoru Tasaka <address@hidden>
Date: Tue, 22 Jun 2010 14:36:01 +0900
To: Discussion of RPM packaging standards and practices for Fedora
<address@hidden>
Well, actually the upstream libtool (Fedora uses 2.2.6a) does not take
care of /usr/lib64 for rpath (and this seems the same for the latest 2.2.8).
What I usually say is that:
----------
- Usually the reason that unneeded rpath /usr/lib64 is added to
the rebuilt binary is that the upstream developer uses libtool
which does not take special care of /usr/lib64 for
sys_lib_dlsearch_path_spec, while Fedora's libtool take care of
this by adding a patch. See the below patch:
http://cvs.fedoraproject.org/viewvc/rpms/libtool/devel/libtool-2.2.6a-
rpath.patch?content-type=text%2Fplain&view=co
So actually for most cases, the case that rpath /usr/lib64 is added
(only for 64 bits arch) can be avoided by
------------------------------------------------------------------------
sed -i.libdir_syssearch -e \
'/sys_lib_dlsearch_path_spec/s|/usr/lib |/usr/lib /usr/lib64 /lib /lib64 |'
\
configure
------------------------------------------------------------------------
i.e. just add the needed paths to sys_lib_dlsearch_path_spec in
configure (note that libtool in the build directory is generated by
configure) before calling %configure.
- You can alternatively do "autoreconf -fi", however calling autotools
is not recommended unless unavoidable.
----------
So it is highly possible that if the upstream does not use Fedora (i.e. does
not
use patched libtool) rpath /usr/lib64 appears on Fedora.
And I just confirmed that this method works for this package (hwloc).
Regards,
Mamoru
=========================================================
- libtool does not recognize "/usr/lib64" as default location for libraries,
Jirka Hladky <=