Daniel P. Berrangé wrote:

> On Thu, Sep 03, 2020 at 02:52:41PM +0400, Roman Bogorodskiy wrote:
> >   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 <bogorods...@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.

I've just tried this change:

--- meson.build.orig    2020-09-03 11:14:20.233605000 +0000
+++ meson.build 2020-09-03 11:14:43.661313000 +0000
@@ -1405,7 +1405,7 @@

 util_dep = cc.find_library('util', required: false)
 if util_dep.found()
-  add_project_link_arguments('-lutil', language: 'c')
+  add_global_link_arguments('-lutil', language: 'c')
 endif

 if not get_option('virtualport').disabled()

It doesn't work, the build is still failing with it.

> 
> 
> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 

Roman Bogorodskiy

Attachment: signature.asc
Description: PGP signature

Reply via email to