* configure does not detect librados or librbd since the switch to meson
@ 2021-01-25 14:13 Peter Lieven
2021-01-25 14:31 ` Peter Lieven
0 siblings, 1 reply; 6+ messages in thread
From: Peter Lieven @ 2021-01-25 14:13 UTC (permalink / raw)
To: dillaman, qemu-devel, pbonzini, philmd
Hi,
on Dedian / Ubuntu configure does no longer detect librbd / librados since the switch to meson.
I need to add dirs: ['/usr/lib'] to the cc.find_library for librados and librbd. But I am not familiar with meson
and can't say if thats the appropriate fix.
I would be thankful for a hint. I would create a patch to fix this and include it upfront of my rbd driver rewrite
that I would like to respin asap.
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: configure does not detect librados or librbd since the switch to meson
2021-01-25 14:13 configure does not detect librados or librbd since the switch to meson Peter Lieven
@ 2021-01-25 14:31 ` Peter Lieven
2021-01-25 15:24 ` Paolo Bonzini
0 siblings, 1 reply; 6+ messages in thread
From: Peter Lieven @ 2021-01-25 14:31 UTC (permalink / raw)
To: dillaman, qemu-devel, pbonzini, philmd
Am 25.01.21 um 15:13 schrieb Peter Lieven:
> Hi,
>
>
> on Dedian / Ubuntu configure does no longer detect librbd / librados since the switch to meson.
>
> I need to add dirs: ['/usr/lib'] to the cc.find_library for librados and librbd. But I am not familiar with meson
>
> and can't say if thats the appropriate fix.
>
>
> I would be thankful for a hint. I would create a patch to fix this and include it upfront of my rbd driver rewrite
>
> that I would like to respin asap.
Further issue: if I specify configure --enable-rbd and cc.links fails the configure command succeeds and rbd support is disabled.
This seems to be an issue with all cc.links calls in the meson.build script.
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: configure does not detect librados or librbd since the switch to meson
2021-01-25 14:31 ` Peter Lieven
@ 2021-01-25 15:24 ` Paolo Bonzini
2021-01-25 19:47 ` Peter Lieven
0 siblings, 1 reply; 6+ messages in thread
From: Paolo Bonzini @ 2021-01-25 15:24 UTC (permalink / raw)
To: Peter Lieven, dillaman, qemu-devel, philmd
On 25/01/21 15:31, Peter Lieven wrote:
> on Dedian / Ubuntu configure does no longer detect librbd / librados
> since the switch to meson.
>
> I need to add dirs: ['/usr/lib'] to the cc.find_library for librados
> and librbd. But I am not familiar with meson
>
> and can't say if thats the appropriate fix.
Can you include the meson-logs/meson-log.txt output?
> Further issue: if I specify configure --enable-rbd and cc.links fails
> the configure command succeeds and rbd support is disabled.
That's a separate bug.
Paolo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: configure does not detect librados or librbd since the switch to meson
2021-01-25 15:24 ` Paolo Bonzini
@ 2021-01-25 19:47 ` Peter Lieven
2021-01-25 21:57 ` Paolo Bonzini
0 siblings, 1 reply; 6+ messages in thread
From: Peter Lieven @ 2021-01-25 19:47 UTC (permalink / raw)
To: Paolo Bonzini, dillaman, qemu-devel, philmd
Am 25.01.21 um 16:24 schrieb Paolo Bonzini:
> On 25/01/21 15:31, Peter Lieven wrote:
>> on Dedian / Ubuntu configure does no longer detect librbd / librados
>> since the switch to meson.
>>
>> I need to add dirs: ['/usr/lib'] to the cc.find_library for librados
>> and librbd. But I am not familiar with meson
>>
>> and can't say if thats the appropriate fix.
>
> Can you include the meson-logs/meson-log.txt output?
Sure: https://pastebin.com/u3XtbDvQ
>
>> Further issue: if I specify configure --enable-rbd and cc.links fails
>> the configure command succeeds and rbd support is disabled.
>
> That's a separate bug.
For the rbd check I can address this as well in the series. Sadly, librbd has no pkg-config (yet). So, I have to create a C file that checks for the version.
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: configure does not detect librados or librbd since the switch to meson
2021-01-25 19:47 ` Peter Lieven
@ 2021-01-25 21:57 ` Paolo Bonzini
2021-01-25 22:20 ` Peter Lieven
0 siblings, 1 reply; 6+ messages in thread
From: Paolo Bonzini @ 2021-01-25 21:57 UTC (permalink / raw)
To: Peter Lieven, dillaman, qemu-devel, philmd
On 25/01/21 20:47, Peter Lieven wrote:
>> Can you include the meson-logs/meson-log.txt output?
>
> Sure:https://pastebin.com/u3XtbDvQ
Does this work for you?
diff --git a/meson.build b/meson.build
index 690d48a6fd..a662772c4a 100644
--- a/meson.build
+++ b/meson.build
@@ -14,6 +14,9 @@ config_host = keyval.load(meson.current_build_dir() /
'config-host.mak')
enable_modules = 'CONFIG_MODULES' in config_host
enable_static = 'CONFIG_STATIC' in config_host
+# Allow both shared and static libraries unless --enable-static
+static_kwargs = enable_static ? {'static': true} : {}
+
# Temporary directory used for files created while
# configure runs. Since it is in the build directory
# we can safely blow away any previous version of it
@@ -679,10 +682,10 @@ endif
rbd = not_found
if not get_option('rbd').auto() or have_block
librados = cc.find_library('rados', required: get_option('rbd'),
- static: enable_static)
+ kwargs: static_kwargs)
librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'],
required: get_option('rbd'),
- static: enable_static)
+ kwargs: static_kwargs)
if librados.found() and librbd.found() and cc.links('''
#include <stdio.h>
#include <rbd/librbd.h>
@@ -693,6 +696,9 @@ if not get_option('rbd').auto() or have_block
}''', dependencies: [librbd, librados])
rbd = declare_dependency(dependencies: [librbd, librados])
endif
+ if not rbd.found() and get_option('rbd').enabled()
+ error('could not link librbd')
+ endif
endif
glusterfs = not_found
(It's not a complete patch, all instances of "static: enable_static"
would need to be changed because other libraries could have the same issue).
Thanks,
Paolo
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: configure does not detect librados or librbd since the switch to meson
2021-01-25 21:57 ` Paolo Bonzini
@ 2021-01-25 22:20 ` Peter Lieven
0 siblings, 0 replies; 6+ messages in thread
From: Peter Lieven @ 2021-01-25 22:20 UTC (permalink / raw)
To: Paolo Bonzini, dillaman, qemu-devel, philmd
Am 25.01.21 um 22:57 schrieb Paolo Bonzini:
> On 25/01/21 20:47, Peter Lieven wrote:
>>> Can you include the meson-logs/meson-log.txt output?
>>
>> Sure:https://pastebin.com/u3XtbDvQ
>
> Does this work for you?
>
> diff --git a/meson.build b/meson.build
> index 690d48a6fd..a662772c4a 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -14,6 +14,9 @@ config_host = keyval.load(meson.current_build_dir() / 'config-host.mak')
> enable_modules = 'CONFIG_MODULES' in config_host
> enable_static = 'CONFIG_STATIC' in config_host
>
> +# Allow both shared and static libraries unless --enable-static
> +static_kwargs = enable_static ? {'static': true} : {}
> +
> # Temporary directory used for files created while
> # configure runs. Since it is in the build directory
> # we can safely blow away any previous version of it
> @@ -679,10 +682,10 @@ endif
> rbd = not_found
> if not get_option('rbd').auto() or have_block
> librados = cc.find_library('rados', required: get_option('rbd'),
> - static: enable_static)
> + kwargs: static_kwargs)
> librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'],
> required: get_option('rbd'),
> - static: enable_static)
> + kwargs: static_kwargs)
> if librados.found() and librbd.found() and cc.links('''
> #include <stdio.h>
> #include <rbd/librbd.h>
> @@ -693,6 +696,9 @@ if not get_option('rbd').auto() or have_block
> }''', dependencies: [librbd, librados])
> rbd = declare_dependency(dependencies: [librbd, librados])
> endif
> + if not rbd.found() and get_option('rbd').enabled()
> + error('could not link librbd')
> + endif
> endif
>
> glusterfs = not_found
>
> (It's not a complete patch, all instances of "static: enable_static" would need to be changed because other libraries could have the same issue).
Yes, it does.
Please CC me, when you submit a complete patch. I will build my V2 of the rbd driver rewrite on top of this then.
Thanks,
Peter
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-25 22:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-25 14:13 configure does not detect librados or librbd since the switch to meson Peter Lieven
2021-01-25 14:31 ` Peter Lieven
2021-01-25 15:24 ` Paolo Bonzini
2021-01-25 19:47 ` Peter Lieven
2021-01-25 21:57 ` Paolo Bonzini
2021-01-25 22:20 ` Peter Lieven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.