Daniel P. Berrangé wrote:
> On Thu, Sep 03, 2020 at 02:21:37PM +0400, Roman Bogorodskiy wrote:
> > Add some FreeBSD-specific libraries (-lutil, -lkvm) to tests dependencies.
> >
> > Without that, FreeBSD 11.x, which uses the GNU ld, fails to link tests.
> > Interestingly, newer FreeBSD versions that use LLVM ld tolerate this
> > behaviour and builds successfully as is.
>
> Hmm, we need a CI job for FreeBSD 11 added
>
> Cirrus supports FreeBSD 11.4 so ought to be possible to add it to our
> matrix.
>
> >
> > Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
> > ---
> > tests/meson.build | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/tests/meson.build b/tests/meson.build
> > index ad13e2de60..ea2458efbc 100644
> > --- a/tests/meson.build
> > +++ b/tests/meson.build
> > @@ -10,11 +10,13 @@ tests_dep = declare_dependency(
> > dlopen_dep,
> > glib_dep,
> > gnutls_dep,
> > + kvm_dep,
>
> Makes sense, as we don't reference kvm_dep anywhere.
>
> > libnl_dep,
> > libxml_dep,
> > rpc_dep,
> > sasl_dep,
> > selinux_dep,
> > + util_dep,
>
> In the top level meson.build, we appear to add -lutil as a linker
> arg to the entire project, so i'm surprised this was needed.
-lutil was actually the first issue spotted, and when fixed, -lkvm
showed up.
Here's the original report I got:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249056
It contains some initial thoughts on this issue; there I also assumed
that add_global_link_arguments() could fix the issue, but was satisfied
with the current solution.
Hmm, this is all very strange if I'm reading the the
add_project_link_arguments doc correctly it should apply to everything
we have. The difference between add_project and add_global is just
about meson subprojects, but the tests are in our main project.
If add_project_link_arguments isn't working as we expect, we might be
better removing its use entirely in favour of explicitly adding the
_deps objects in the particular places they are needed.
Regards,
Daniel
--
|: