[PATCH v1] meson: fix yajl detection

Olaf Hering posted 1 patch 3 years, 5 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20201112230139.10517-1-olaf@aepfle.de
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v1] meson: fix yajl detection
Posted by Olaf Hering 3 years, 5 months ago
yajl_tree_parse is declared in yajl/yajl_tree.h
autoconf is more forgiving, the error did not trigger because
yajl_tree_parse is not actually used.

Fixes commit 44b8df4cb4b3f0c143e0330f543812e6bcd5c9f0
Fixes commit 88ab32a4e555f67dae3204fbc3bcf63d3da8ad2b

Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 9ee8dffa60..2b2ce6dfb1 100644
--- a/meson.build
+++ b/meson.build
@@ -1471,7 +1471,7 @@ if not get_option('yajl').disabled()
   if not yajl_dep.found()
     yajl_dep = cc.find_library('yajl', required: get_option('yajl'))
     if yajl_dep.found()
-      has_func = cc.has_function('yajl_tree_parse', dependencies: yajl_dep, prefix: '#include <yajl/yajl_common.h>')
+      has_func = cc.has_function('yajl_tree_parse', dependencies: yajl_dep, prefix: '#include <yajl/yajl_tree.h>')
       if not has_func and get_option('yajl').enabled()
         error('yajl >= @0@ was not found'.format(yajl_version))
       elif not has_func

Re: [PATCH v1] meson: fix yajl detection
Posted by Andrea Bolognani 3 years, 5 months ago
On Fri, 2020-11-13 at 00:01 +0100, Olaf Hering wrote:
> yajl_tree_parse is declared in yajl/yajl_tree.h
> autoconf is more forgiving, the error did not trigger because
> yajl_tree_parse is not actually used.
> 
> Fixes commit 44b8df4cb4b3f0c143e0330f543812e6bcd5c9f0
> Fixes commit 88ab32a4e555f67dae3204fbc3bcf63d3da8ad2b
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> ---
>  meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

  Reviewed-by: Andrea Bolognani <abologna@redhat.com>

and pushed. Thanks!

-- 
Andrea Bolognani / Red Hat / Virtualization

Re: [PATCH v1] meson: fix yajl detection
Posted by Daniel P. Berrangé 3 years, 5 months ago
On Fri, Nov 13, 2020 at 12:01:39AM +0100, Olaf Hering wrote:
> yajl_tree_parse is declared in yajl/yajl_tree.h
> autoconf is more forgiving, the error did not trigger because
> yajl_tree_parse is not actually used.

What platform is this failure seen on ?

> 
> Fixes commit 44b8df4cb4b3f0c143e0330f543812e6bcd5c9f0
> Fixes commit 88ab32a4e555f67dae3204fbc3bcf63d3da8ad2b
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> ---
>  meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index 9ee8dffa60..2b2ce6dfb1 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1471,7 +1471,7 @@ if not get_option('yajl').disabled()

Just above here are comments saying

  # 2.0.3 was the version where the pkg-config file was first added
  # SLES 12 and openSUSE Leap 42.3 still use 2.0.1
  # TODO: delete this in July 2020

This deletion delete was based on fact that SLES 15 was released in
July 2018, and we only support the previous release for 2 years from
that time.

IOW, I think we should just be deleting the entire block of code
here and relying exclusively on pkg-config at this time.

>    if not yajl_dep.found()
>      yajl_dep = cc.find_library('yajl', required: get_option('yajl'))
>      if yajl_dep.found()
> -      has_func = cc.has_function('yajl_tree_parse', dependencies: yajl_dep, prefix: '#include <yajl/yajl_common.h>')
> +      has_func = cc.has_function('yajl_tree_parse', dependencies: yajl_dep, prefix: '#include <yajl/yajl_tree.h>')
>        if not has_func and get_option('yajl').enabled()
>          error('yajl >= @0@ was not found'.format(yajl_version))
>        elif not has_func

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 :|