[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