[libvirt] [PATCH 3/3] m4: Check for rl_completion_quote_character

Michal Privoznik mprivozn at redhat.com
Mon Jan 15 17:51:16 UTC 2018


On 01/15/2018 05:39 PM, Andrea Bolognani wrote:
> On Mon, 2018-01-15 at 16:36 +0100, Michal Privoznik wrote:
>>> So, one way to solve this once and for all would be to:
>>>
>>>   * try looking up readline through pkg-config. If that works,
>>>     then we already know we're compiling against a recent
>>>     readline version and everything will work;
>>
>> I just found out that this will not work - even though there is
>> readline.pc.in in the readline repo, they are lacking rule to install
>> the .pc file. So nobody ships that. For instance, on my rawhide box:
>>
>> [root at fedora ~]# rpm -q readline
>> readline-7.0-5.fc26.x86_64
>> [root at fedora ~]# rpm -ql readline | grep \.pc
>> [root at fedora ~]#
> 
> Ouch.
> 
> (Note the .pc file would be in the readline-devel package, not in
> the runtime one. Still, I've checked on my Rawhide guest and it's
> not there.)

Ah, right.

> 
> At least FreeBSD ships it, though:
> 
>   # pkg list readline | grep pc$
>   /usr/local/libdata/pkgconfig/readline.pc

is this GNU readline? I've heard that FreeBSD is ditching GNU software.

> 
> Not sure about brew. Not having access to a macOS box is really
> annoying in this kind of scenario.
> 
>>>   * if readline's pkg-config file is not available, try linking
>>>     against it the old way. This will succeed on oldish versions
>>>     like the one shipped with CentOS but fail because of missing
>>>     functions on macOS.

1: ^^^

>>
>> I should have commented earlier too - what good it is to switch to
>> pkg-config if we're keeping the old way of detecting the library (with
>> this patch included) anyway?
> 
> We wouldn't need to include this patch: we could just assume
> a readline new enough to provide a .pc file contains all the
> functionality we need.

Well, what if isn't? We would just disable readline? We can't because
you're advocating for linking the old way [1]. However, that wouldn't
work on systems where we require more than just -lreadline (which is
current situation). Currently, the problem is that my code requires this
rl_completion_quote_character variable from readline.h. It's not a
function, it's a variable. And if not present, compilation fails. So
what should we do if pkg-config fails?

> 
>> Therefore I think we should merge this patch and switch to pkg-config
>> later (when distros have it).
> 
> Well, we're running out of time for 4.0.0 anyway, so
> 
>   Reviewed-by: Andrea Bolognani <abologna at redhat.com>

Agreed, pushed. Thanks.

Michal




More information about the libvir-list mailing list