bug-bash
[Top][All Lists]
Advanced

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

Re: specifying readline location & ignoring libdir...?


From: L A Walsh
Subject: Re: specifying readline location & ignoring libdir...?
Date: Wed, 16 Nov 2016 16:34:20 -0800
User-agent: Thunderbird



Chet Ramey wrote:
On 11/16/16 2:26 PM, L A Walsh wrote:

Because that's not what `libdir' is for.  Look at the GNU coding standards:

https://www.gnu.org/prep/standards/standards.html#Makefile-Conventions

under the section "Variables for Installation Directories", where we find

‘libdir’

    The directory for object files and libraries of object code. Do not
install executables here, they probably ought to go in $(libexecdir)
instead. The value of libdir should normally be /usr/local/lb, but write
it as $(exec_prefix)/lib. (If you are using Autoconf, write it as
address@hidden@’.)
-----
   The link step is using //lib.  That is not where object files
and libraries of object code for my platform reside.

   Let's say that I install readline7 as my system's libreadline.  It
would be in /lib64 -- not in /lib. So how would bash link to my system-instance
of readline when no arguments on the link statement are linking against
my system's libraries?


code reside for x64.  Those reside in /lib64.  The link step is using the
wrong location for my platform's libraries.

   From what you quoted, libdir should point to object files and libraries
of object code (not executables).
As above, the libdir argument doesn't do that. It's a variable to
control installation, not where to look for libraries during build
There are other ways to do that, and I gave you one.
----
   At link time, it is using -L//lib.  What tells it to use "//lib"?
It isn't LD_LIBRARY_PATH and it isn't my system, as it would be saying
to use /usr/lib64 or /lib64.  I tried adding the -L/lib64 to LDFLAGS, but
it puts the LDFLAGS *after* the -L//lib.  How can I get the link step
not to use -L//lib, but use the -L//lib64 instead?

   I.e. I installed libreadline7 in my system's lib dir (/lib64), but
it isn't linking against that version of readline
Just because something doesn't work the way you think it should is
not evidence of something that needs "fixing".
---
   Ok.  How do I get the link phase to use the right directory?
I.e. what gnu switch is that?  I don't know what the right switch is,
so please tell me what switch to use.

   I got what you said about using --with-installed_readline and pointing
that at the dir where readline is.  Ok.  But how do I bash to link
with the 64-bit libs in /lib64?  Theoretically, /lib was reserved for
32-bit libs, though not always, exclusively, but that was the intent.

/lib has files from old distros that never got removed (from 2012/2013).
Most of the libs for suse13.2 are from 2015, I think.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]