[libvirt] Likely build race, "/usr/bin/ld: cannot find -lvirt"

Eric Blake eblake at redhat.com
Tue Jun 12 12:57:40 UTC 2018


On 06/12/2018 06:11 AM, Jiri Denemark wrote:

> I hit the same race twice on aarch64 and ppc64 and I can confirm the
> installation phase fails if libvirt.la is installed later than libraries
> which link to it. However, the dependencies seem to be set correctly in
> the Makefiles. But it looks like they are only honored when linking the
> library during the build phase. During make install libvirt.la and
> libraries which link to it are installed independently. That is,
> install-modLTLIBRARIES does not depend on anything except for the
> mod_LTIBRARIES themselves. Thus when libtool decides to relink the
> libraries libvirt.la may still be missing at this point. Manually
> changing
> 
>      install-modLTLIBRARIES: $(mod_LTLIBRARIES)
> 
> to
> 
>      install-modLTLIBRARIES: $(mod_LTLIBRARIES) install-libLTLIBRARIES
> 
> fixed the problem for me (tested with an artificial delay added to
> install-libLTLIBRARIES target), but I have no idea how to persuade
> automake to generate something like that for us.
> 
> Eric, is my investigation correct and do you have any ideas on how to
> fix the race?

Can you add that line directly into Makefile.am, or does doing that 
cause automake to complain and/or omit its normal rules because it 
thinks you are overriding its defaults?

I know that getting automake to add a dependency is not always trivial, 
but that it should be possible (my strengths lie more on autoconf than 
on automake).

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org




More information about the libvir-list mailing list