Discussion:
Autoconf and Fedora x86_64 /usr/local/lib64?
Jeffrey Walton
2017-10-21 03:42:45 UTC
Permalink
I'm having trouble configuring a few Autotool projects on Fedora
x86_64. Fedora uses /usr/local/lib64 for third party and vendor
libraries.

GnuTLS requires this sed (from Fedora's patches to gnutls.spec;
http://pkgs.fedoraproject.org/cgit/rpms/gnutls.git/tree/gnutls.spec;
thanks NM):

sed -i -e 's|sys_lib_dlsearch_path_spec="/lib
/usr/lib|sys_lib_dlsearch_path_spec="/lib /usr/lib %{_libdir}|g'
configure

At this point, I believe the hard coded
"sys_lib_dlsearch_path_spec=/lib /usr/lib" is not correct for Fedora
x86_64, but I don't know what is correct.

My first question is, should sys_lib_dlsearch_path_spec should even be
present? That is, shouldn't the system's config.site or --libdir deal
with it? Can I delete the line that hard codes
sys_lib_dlsearch_path_spec all together?

My first second is, if its OK to fiddle with
sys_lib_dlsearch_path_spec, then what should the string be? Is /lib
/usr/lib %{libdir}" correct? Or should it be something else?

Thanks in advance,

Jeff
Jeffrey Walton
2017-10-21 03:51:20 UTC
Permalink
Post by Jeffrey Walton
I'm having trouble configuring a few Autotool projects on Fedora
x86_64. Fedora uses /usr/local/lib64 for third party and vendor
libraries.
GnuTLS requires this sed (from Fedora's patches to gnutls.spec;
http://pkgs.fedoraproject.org/cgit/rpms/gnutls.git/tree/gnutls.spec;
sed -i -e 's|sys_lib_dlsearch_path_spec="/lib
/usr/lib|sys_lib_dlsearch_path_spec="/lib /usr/lib %{_libdir}|g'
configure
At this point, I believe the hard coded
"sys_lib_dlsearch_path_spec=/lib /usr/lib" is not correct for Fedora
x86_64, but I don't know what is correct.
My first question is, should sys_lib_dlsearch_path_spec should even be
present? That is, shouldn't the system's config.site or --libdir deal
with it? Can I delete the line that hard codes
sys_lib_dlsearch_path_spec all together?
My first second is, if its OK to fiddle with
sys_lib_dlsearch_path_spec, then what should the string be? Is /lib
/usr/lib %{libdir}" correct? Or should it be something else?
I probably should have mentioned... Here are the docs on
sys_lib_dlsearch_path_spec
(http://www.delorie.com/gnu/docs/libtool/libtool_71.html):

Variable: sys_lib_dlsearch_path_spec

Expression to get the run-time system library search path.
Directories that appear in this list are never hard-coded
into executables.

But I'm not quite following what needs to be done or how it should be handled.

Jeff
Jeffrey Walton
2017-11-06 17:27:50 UTC
Permalink
Post by Jeffrey Walton
I'm having trouble configuring a few Autotool projects on Fedora
x86_64. Fedora uses /usr/local/lib64 for third party and vendor
libraries.
GnuTLS requires this sed (from Fedora's patches to gnutls.spec;
http://pkgs.fedoraproject.org/cgit/rpms/gnutls.git/tree/gnutls.spec;
sed -i -e 's|sys_lib_dlsearch_path_spec="/lib
/usr/lib|sys_lib_dlsearch_path_spec="/lib /usr/lib %{_libdir}|g'
configure
At this point, I believe the hard coded
"sys_lib_dlsearch_path_spec=/lib /usr/lib" is not correct for Fedora
x86_64, but I don't know what is correct.
My first question is, should sys_lib_dlsearch_path_spec should even be
present? That is, shouldn't the system's config.site or --libdir deal
with it? Can I delete the line that hard codes
sys_lib_dlsearch_path_spec all together?
My first second is, if its OK to fiddle with
sys_lib_dlsearch_path_spec, then what should the string be? Is /lib
/usr/lib %{libdir}" correct? Or should it be something else?
I believe this is the controlling bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1510073. Or it is the
controlling issue for Fedora. It may apply to Red Hat as well.

I'm less clear on the fix. It seem's like Fedora's
/usr/share/config.site should properly handle --prefix=/usr/local and
libdir, without the need to add a /usr/local/share/site.config or the
need to RTFM. That is, Fedora's site.config should "just work".

Jeff

Loading...