* [PATCH 0/2] meson: move libmpathpersist test @ 2020-09-16 16:26 Paolo Bonzini 2020-09-16 16:26 ` [PATCH 1/2] meson: move libudev test Paolo Bonzini ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Paolo Bonzini @ 2020-09-16 16:26 UTC (permalink / raw) To: qemu-devel Move the libmpathpersist test, as well as its dependency libudev, to meson. This should fix or help debugging https://travis-ci.com/github/huth/qemu/jobs/385737549#L4528 Paolo Bonzini (2): meson: move libudev test meson: move libmpathpersist test configure | 91 +++-------------------------------------------- meson.build | 83 +++++++++++++++++++++++++++++++++++++----- meson_options.txt | 2 ++ 3 files changed, 80 insertions(+), 96 deletions(-) -- 2.26.2 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] meson: move libudev test 2020-09-16 16:26 [PATCH 0/2] meson: move libmpathpersist test Paolo Bonzini @ 2020-09-16 16:26 ` Paolo Bonzini 2020-09-16 16:26 ` [PATCH 2/2] meson: move libmpathpersist test Paolo Bonzini 2020-09-17 9:59 ` [PATCH 0/2] " Thomas Huth 2 siblings, 0 replies; 7+ messages in thread From: Paolo Bonzini @ 2020-09-16 16:26 UTC (permalink / raw) To: qemu-devel Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- configure | 14 -------------- meson.build | 7 ++++--- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/configure b/configure index 1a86c1f146..83ccbc6d70 100755 --- a/configure +++ b/configure @@ -876,7 +876,6 @@ Linux) linux_user="yes" kvm="yes" QEMU_INCLUDES="-isystem ${source_path}/linux-headers -Ilinux-headers $QEMU_INCLUDES" - libudev="yes" ;; esac @@ -6258,15 +6257,6 @@ if test "$libnfs" != "no" ; then fi ########################################## -# Do we have libudev -if test "$libudev" != "no" ; then - if $pkg_config libudev && test "$static" != "yes"; then - libudev="yes" - libudev_libs=$($pkg_config --libs libudev) - else - libudev="no" - fi -fi # Exclude --warn-common with TSan to suppress warnings from the TSan libraries. if test "$solaris" = "no" && test "$tsan" = "no"; then @@ -7435,10 +7425,6 @@ if test "$gcov" = "yes" ; then echo "CONFIG_GCOV=y" >> $config_host_mak fi -if test "$libudev" != "no"; then - echo "CONFIG_LIBUDEV=y" >> $config_host_mak - echo "LIBUDEV_LIBS=$libudev_libs" >> $config_host_mak -fi if test "$fuzzing" != "no"; then echo "CONFIG_FUZZ=y" >> $config_host_mak fi diff --git a/meson.build b/meson.build index 64c0058dfb..5092aec439 100644 --- a/meson.build +++ b/meson.build @@ -257,8 +257,8 @@ if 'CONFIG_CURL' in config_host link_args: config_host['CURL_LIBS'].split()) endif libudev = not_found -if 'CONFIG_LIBUDEV' in config_host - libudev = declare_dependency(link_args: config_host['LIBUDEV_LIBS'].split()) +if target_os == 'linux' + libudev = dependency('libudev', static: enable_static) endif brlapi = not_found if 'CONFIG_BRLAPI' in config_host @@ -446,6 +446,7 @@ has_gettid = cc.has_function('gettid') # Create config-host.h +config_host_data.set('CONFIG_LIBUDEV', libudev.found()) config_host_data.set('CONFIG_SDL', sdl.found()) config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found()) config_host_data.set('CONFIG_VNC', vnc.found()) @@ -1527,7 +1528,7 @@ summary_info += {'sheepdog support': config_host.has_key('CONFIG_SHEEPDOG')} summary_info += {'capstone': config_host.has_key('CONFIG_CAPSTONE')} summary_info += {'libpmem support': config_host.has_key('CONFIG_LIBPMEM')} summary_info += {'libdaxctl support': config_host.has_key('CONFIG_LIBDAXCTL')} -summary_info += {'libudev': config_host.has_key('CONFIG_LIBUDEV')} +summary_info += {'libudev': libudev.found()} summary_info += {'default devices': config_host['CONFIG_MINIKCONF_MODE'] == '--defconfig'} summary_info += {'plugin support': config_host.has_key('CONFIG_PLUGIN')} summary_info += {'fuzzing support': config_host.has_key('CONFIG_FUZZ')} -- 2.26.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] meson: move libmpathpersist test 2020-09-16 16:26 [PATCH 0/2] meson: move libmpathpersist test Paolo Bonzini 2020-09-16 16:26 ` [PATCH 1/2] meson: move libudev test Paolo Bonzini @ 2020-09-16 16:26 ` Paolo Bonzini 2020-09-16 17:09 ` Thomas Huth 2020-09-17 9:59 ` [PATCH 0/2] " Thomas Huth 2 siblings, 1 reply; 7+ messages in thread From: Paolo Bonzini @ 2020-09-16 16:26 UTC (permalink / raw) To: qemu-devel This is the first compiler/linker test that has been moved to Meson. Add more section headings to keep things clearer. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- configure | 77 +++------------------------------------------ meson.build | 80 ++++++++++++++++++++++++++++++++++++++++++----- meson_options.txt | 2 ++ 3 files changed, 78 insertions(+), 81 deletions(-) diff --git a/configure b/configure index 83ccbc6d70..cc38516e06 100755 --- a/configure +++ b/configure @@ -371,7 +371,7 @@ netmap="no" sdl="auto" sdl_image="auto" virtfs="" -mpath="" +mpath="auto" vnc="enabled" sparse="no" vde="" @@ -1084,9 +1084,9 @@ for opt do ;; --enable-virtfs) virtfs="yes" ;; - --disable-mpath) mpath="no" + --disable-mpath) mpath="disabled" ;; - --enable-mpath) mpath="yes" + --enable-mpath) mpath="enabled" ;; --disable-vnc) vnc="disabled" ;; @@ -3823,57 +3823,6 @@ if test "$modules" = yes; then fi fi -########################################## -# libmpathpersist probe - -if test "$mpath" != "no" ; then - # probe for the new API - cat > $TMPC <<EOF -#include <libudev.h> -#include <mpath_persist.h> -unsigned mpath_mx_alloc_len = 1024; -int logsink; -static struct config *multipath_conf; -extern struct udev *udev; -extern struct config *get_multipath_config(void); -extern void put_multipath_config(struct config *conf); -struct udev *udev; -struct config *get_multipath_config(void) { return multipath_conf; } -void put_multipath_config(struct config *conf) { } - -int main(void) { - udev = udev_new(); - multipath_conf = mpath_lib_init(); - return 0; -} -EOF - if compile_prog "" "-ludev -lmultipath -lmpathpersist" ; then - mpathpersist=yes - mpathpersist_new_api=yes - else - # probe for the old API - cat > $TMPC <<EOF -#include <libudev.h> -#include <mpath_persist.h> -unsigned mpath_mx_alloc_len = 1024; -int logsink; -int main(void) { - struct udev *udev = udev_new(); - mpath_lib_init(udev); - return 0; -} -EOF - if compile_prog "" "-ludev -lmultipath -lmpathpersist" ; then - mpathpersist=yes - mpathpersist_new_api=no - else - mpathpersist=no - fi - fi -else - mpathpersist=no -fi - ########################################## # pthread probe PTHREADLIBS_LIST="-pthread -lpthread -lpthreadGC2" @@ -6315,23 +6264,11 @@ if test "$softmmu" = yes ; then fi virtfs=no fi - if test "$mpath" != no && test "$mpathpersist" = yes ; then - mpath=yes - else - if test "$mpath" = yes; then - error_exit "Multipath requires libmpathpersist devel" - fi - mpath=no - fi else if test "$virtfs" = yes; then error_exit "VirtFS is supported only on Linux" fi virtfs=no - if test "$mpath" = yes; then - error_exit "Multipath is supported only on Linux" - fi - mpath=no fi fi @@ -6872,12 +6809,6 @@ fi if test "$virtfs" = "yes" ; then echo "CONFIG_VIRTFS=y" >> $config_host_mak fi -if test "$mpath" = "yes" ; then - echo "CONFIG_MPATH=y" >> $config_host_mak - if test "$mpathpersist_new_api" = "yes"; then - echo "CONFIG_MPATH_NEW_API=y" >> $config_host_mak - fi -fi if test "$vhost_scsi" = "yes" ; then echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak fi @@ -7965,7 +7896,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \ -Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \ -Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \ -Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \ - -Dsdl=$sdl -Dsdl_image=$sdl_image \ + -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \ -Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \ -Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f\ $cross_arg \ diff --git a/meson.build b/meson.build index 5092aec439..60ef988d9d 100644 --- a/meson.build +++ b/meson.build @@ -86,6 +86,14 @@ if 'SPARSE_CFLAGS' in config_host 'compile_commands.json']) endif +########################################### +# Target-specific checks and dependencies # +########################################### + +if targetos != 'linux' and get_option('mpath').enabled() + error('Multipath is supported only on Linux') +endif + m = cc.find_library('m', required: false) util = cc.find_library('util', required: false) winmm = [] @@ -117,6 +125,11 @@ elif targetos == 'haiku' cc.find_library('network'), cc.find_library('bsd')] endif + +################ +# Dependencies # +################ + # The path to glib.h is added to all compilation commands. This was # grandfathered in from the QEMU Makefiles. add_project_arguments(config_host['GLIB_CFLAGS'].split(), @@ -223,10 +236,6 @@ if 'CONFIG_SPICE' in config_host link_args: config_host['SPICE_LIBS'].split()) endif rt = cc.find_library('rt', required: false) -libmpathpersist = not_found -if config_host.has_key('CONFIG_MPATH') - libmpathpersist = cc.find_library('mpathpersist') -endif libdl = not_found if 'CONFIG_PLUGIN' in config_host libdl = cc.find_library('dl', required: true) @@ -257,9 +266,62 @@ if 'CONFIG_CURL' in config_host link_args: config_host['CURL_LIBS'].split()) endif libudev = not_found -if target_os == 'linux' - libudev = dependency('libudev', static: enable_static) +if targetos == 'linux' + libudev = dependency('libudev', + required: get_option('mpath'), + static: enable_static) +endif + +mpathpersist = not_found +if targetos == 'linux' and not get_option('mpath').disabled() + libmultipath = cc.find_library('multipath', + required: get_option('mpath'), + static: enable_static) + libmpathpersist = cc.find_library('mpathpersist', + required: get_option('mpath'), + static: enable_static) + if libmultipath.found() and libmpathpersist.found() and libudev.found() + if cc.links(''' + #include <libudev.h> + #include <mpath_persist.h> + unsigned mpath_mx_alloc_len = 1024; + int logsink; + static struct config *multipath_conf; + extern struct udev *udev; + extern struct config *get_multipath_config(void); + extern void put_multipath_config(struct config *conf); + struct udev *udev; + struct config *get_multipath_config(void) { return multipath_conf; } + void put_multipath_config(struct config *conf) { } + int main(void) { + udev = udev_new(); + multipath_conf = mpath_lib_init(); + return 0; + }''', dependencies: [libmultipath, libmpathpersist, libudev]) + mpathpersist = declare_dependency(dependencies: [libmultipath, libmpathpersist, libudev]) + mpathpersist_new_api = true + elif cc.links(''' + #include <libudev.h> + #include <mpath_persist.h> + unsigned mpath_mx_alloc_len = 1024; + int logsink; + int main(void) { + struct udev *udev = udev_new(); + mpath_lib_init(udev); + return 0; + }''', dependencies: [libmultipath, libmpathpersist, libudev]) + mpathpersist = declare_dependency(dependencies: [libmultipath, libmpathpersist, libudev]) + mpathpersist_new_api = false + else + if get_option('mpath').enabled() + error('Cannot detect libmpathpersist API') + else + warning('Cannot detect libmpathpersist API, disabling') + endif + endif + endif endif + brlapi = not_found if 'CONFIG_BRLAPI' in config_host brlapi = declare_dependency(link_args: config_host['BRLAPI_LIBS'].split()) @@ -447,6 +509,8 @@ has_gettid = cc.has_function('gettid') # Create config-host.h config_host_data.set('CONFIG_LIBUDEV', libudev.found()) +config_host_data.set('CONFIG_MPATH', mpathpersist.found()) +config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api) config_host_data.set('CONFIG_SDL', sdl.found()) config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found()) config_host_data.set('CONFIG_VNC', vnc.found()) @@ -1197,7 +1261,7 @@ if have_tools executable('qemu-pr-helper', files('scsi/qemu-pr-helper.c', 'scsi/utils.c'), dependencies: [authz, crypto, io, qom, qemuutil, - libcap_ng, libudev, libmpathpersist], + libcap_ng, mpathpersist], install: true) endif @@ -1419,7 +1483,7 @@ summary_info += {'Audio drivers': config_host['CONFIG_AUDIO_DRIVERS']} summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']} summary_info += {'Block whitelist (ro)': config_host['CONFIG_BDRV_RO_WHITELIST']} summary_info += {'VirtFS support': config_host.has_key('CONFIG_VIRTFS')} -summary_info += {'Multipath support': config_host.has_key('CONFIG_MPATH')} +summary_info += {'Multipath support': mpathpersist.found()} summary_info += {'VNC support': vnc.found()} if vnc.found() summary_info += {'VNC SASL support': sasl.found()} diff --git a/meson_options.txt b/meson_options.txt index 543cf70043..b38a6ae92a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -6,6 +6,8 @@ option('docdir', type : 'string', value : 'doc', option('gettext', type : 'boolean', value : true, description: 'Localization of the GTK+ user interface') +option('mpath', type : 'feature', value : 'auto', + description: 'Multipath persistent reservation passthrough') option('sdl', type : 'feature', value : 'auto', description: 'SDL user interface') option('sdl_image', type : 'feature', value : 'auto', -- 2.26.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] meson: move libmpathpersist test 2020-09-16 16:26 ` [PATCH 2/2] meson: move libmpathpersist test Paolo Bonzini @ 2020-09-16 17:09 ` Thomas Huth 2020-09-16 17:17 ` Paolo Bonzini 0 siblings, 1 reply; 7+ messages in thread From: Thomas Huth @ 2020-09-16 17:09 UTC (permalink / raw) To: Paolo Bonzini, qemu-devel On 16/09/2020 18.26, Paolo Bonzini wrote: > This is the first compiler/linker test that has been moved to Meson. > Add more section headings to keep things clearer. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > configure | 77 +++------------------------------------------ > meson.build | 80 ++++++++++++++++++++++++++++++++++++++++++----- > meson_options.txt | 2 ++ > 3 files changed, 78 insertions(+), 81 deletions(-) [...] > diff --git a/meson.build b/meson.build > index 5092aec439..60ef988d9d 100644 > --- a/meson.build > +++ b/meson.build > @@ -86,6 +86,14 @@ if 'SPARSE_CFLAGS' in config_host > 'compile_commands.json']) > endif > > +########################################### > +# Target-specific checks and dependencies # > +########################################### > + > +if targetos != 'linux' and get_option('mpath').enabled() > + error('Multipath is supported only on Linux') > +endif > + > m = cc.find_library('m', required: false) > util = cc.find_library('util', required: false) > winmm = [] > @@ -117,6 +125,11 @@ elif targetos == 'haiku' > cc.find_library('network'), > cc.find_library('bsd')] > endif > + > +################ > +# Dependencies # > +################ > + > # The path to glib.h is added to all compilation commands. This was > # grandfathered in from the QEMU Makefiles. > add_project_arguments(config_host['GLIB_CFLAGS'].split(), > @@ -223,10 +236,6 @@ if 'CONFIG_SPICE' in config_host > link_args: config_host['SPICE_LIBS'].split()) > endif > rt = cc.find_library('rt', required: false) > -libmpathpersist = not_found > -if config_host.has_key('CONFIG_MPATH') > - libmpathpersist = cc.find_library('mpathpersist') > -endif > libdl = not_found > if 'CONFIG_PLUGIN' in config_host > libdl = cc.find_library('dl', required: true) > @@ -257,9 +266,62 @@ if 'CONFIG_CURL' in config_host > link_args: config_host['CURL_LIBS'].split()) > endif > libudev = not_found > -if target_os == 'linux' > - libudev = dependency('libudev', static: enable_static) > +if targetos == 'linux' > + libudev = dependency('libudev', > + required: get_option('mpath'), > + static: enable_static) > +endif > + > +mpathpersist = not_found > +if targetos == 'linux' and not get_option('mpath').disabled() > + libmultipath = cc.find_library('multipath', > + required: get_option('mpath'), > + static: enable_static) > + libmpathpersist = cc.find_library('mpathpersist', > + required: get_option('mpath'), > + static: enable_static) > + if libmultipath.found() and libmpathpersist.found() and libudev.found() > + if cc.links(''' > + #include <libudev.h> > + #include <mpath_persist.h> > + unsigned mpath_mx_alloc_len = 1024; > + int logsink; > + static struct config *multipath_conf; > + extern struct udev *udev; > + extern struct config *get_multipath_config(void); > + extern void put_multipath_config(struct config *conf); > + struct udev *udev; > + struct config *get_multipath_config(void) { return multipath_conf; } > + void put_multipath_config(struct config *conf) { } > + int main(void) { > + udev = udev_new(); > + multipath_conf = mpath_lib_init(); > + return 0; > + }''', dependencies: [libmultipath, libmpathpersist, libudev]) > + mpathpersist = declare_dependency(dependencies: [libmultipath, libmpathpersist, libudev]) > + mpathpersist_new_api = true > + elif cc.links(''' > + #include <libudev.h> > + #include <mpath_persist.h> > + unsigned mpath_mx_alloc_len = 1024; > + int logsink; > + int main(void) { > + struct udev *udev = udev_new(); > + mpath_lib_init(udev); > + return 0; > + }''', dependencies: [libmultipath, libmpathpersist, libudev]) > + mpathpersist = declare_dependency(dependencies: [libmultipath, libmpathpersist, libudev]) > + mpathpersist_new_api = false > + else > + if get_option('mpath').enabled() > + error('Cannot detect libmpathpersist API') > + else > + warning('Cannot detect libmpathpersist API, disabling') > + endif > + endif > + endif > endif > + I just gave this a try on my laptop, but I'm seeing: ../../devel/qemu/meson.build:508:17: ERROR: Unknown variable "mpathpersist_new_api". ... I guess it should only be printed if mpathpersist.found() ? Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] meson: move libmpathpersist test 2020-09-16 17:09 ` Thomas Huth @ 2020-09-16 17:17 ` Paolo Bonzini 0 siblings, 0 replies; 7+ messages in thread From: Paolo Bonzini @ 2020-09-16 17:17 UTC (permalink / raw) To: Thomas Huth; +Cc: qemu-devel [-- Attachment #1: Type: text/plain, Size: 5081 bytes --] Yes, or easier the "false" assignment can be moved out of the "if". Paolo Il mer 16 set 2020, 19:09 Thomas Huth <thuth@redhat.com> ha scritto: > On 16/09/2020 18.26, Paolo Bonzini wrote: > > This is the first compiler/linker test that has been moved to Meson. > > Add more section headings to keep things clearer. > > > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > > --- > > configure | 77 +++------------------------------------------ > > meson.build | 80 ++++++++++++++++++++++++++++++++++++++++++----- > > meson_options.txt | 2 ++ > > 3 files changed, 78 insertions(+), 81 deletions(-) > [...] > > diff --git a/meson.build b/meson.build > > index 5092aec439..60ef988d9d 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -86,6 +86,14 @@ if 'SPARSE_CFLAGS' in config_host > > 'compile_commands.json']) > > endif > > > > +########################################### > > +# Target-specific checks and dependencies # > > +########################################### > > + > > +if targetos != 'linux' and get_option('mpath').enabled() > > + error('Multipath is supported only on Linux') > > +endif > > + > > m = cc.find_library('m', required: false) > > util = cc.find_library('util', required: false) > > winmm = [] > > @@ -117,6 +125,11 @@ elif targetos == 'haiku' > > cc.find_library('network'), > > cc.find_library('bsd')] > > endif > > + > > +################ > > +# Dependencies # > > +################ > > + > > # The path to glib.h is added to all compilation commands. This was > > # grandfathered in from the QEMU Makefiles. > > add_project_arguments(config_host['GLIB_CFLAGS'].split(), > > @@ -223,10 +236,6 @@ if 'CONFIG_SPICE' in config_host > > link_args: > config_host['SPICE_LIBS'].split()) > > endif > > rt = cc.find_library('rt', required: false) > > -libmpathpersist = not_found > > -if config_host.has_key('CONFIG_MPATH') > > - libmpathpersist = cc.find_library('mpathpersist') > > -endif > > libdl = not_found > > if 'CONFIG_PLUGIN' in config_host > > libdl = cc.find_library('dl', required: true) > > @@ -257,9 +266,62 @@ if 'CONFIG_CURL' in config_host > > link_args: config_host['CURL_LIBS'].split()) > > endif > > libudev = not_found > > -if target_os == 'linux' > > - libudev = dependency('libudev', static: enable_static) > > +if targetos == 'linux' > > + libudev = dependency('libudev', > > + required: get_option('mpath'), > > + static: enable_static) > > +endif > > + > > +mpathpersist = not_found > > +if targetos == 'linux' and not get_option('mpath').disabled() > > + libmultipath = cc.find_library('multipath', > > + required: get_option('mpath'), > > + static: enable_static) > > + libmpathpersist = cc.find_library('mpathpersist', > > + required: get_option('mpath'), > > + static: enable_static) > > + if libmultipath.found() and libmpathpersist.found() and > libudev.found() > > + if cc.links(''' > > + #include <libudev.h> > > + #include <mpath_persist.h> > > + unsigned mpath_mx_alloc_len = 1024; > > + int logsink; > > + static struct config *multipath_conf; > > + extern struct udev *udev; > > + extern struct config *get_multipath_config(void); > > + extern void put_multipath_config(struct config *conf); > > + struct udev *udev; > > + struct config *get_multipath_config(void) { return > multipath_conf; } > > + void put_multipath_config(struct config *conf) { } > > + int main(void) { > > + udev = udev_new(); > > + multipath_conf = mpath_lib_init(); > > + return 0; > > + }''', dependencies: [libmultipath, libmpathpersist, libudev]) > > + mpathpersist = declare_dependency(dependencies: [libmultipath, > libmpathpersist, libudev]) > > + mpathpersist_new_api = true > > + elif cc.links(''' > > + #include <libudev.h> > > + #include <mpath_persist.h> > > + unsigned mpath_mx_alloc_len = 1024; > > + int logsink; > > + int main(void) { > > + struct udev *udev = udev_new(); > > + mpath_lib_init(udev); > > + return 0; > > + }''', dependencies: [libmultipath, libmpathpersist, libudev]) > > + mpathpersist = declare_dependency(dependencies: [libmultipath, > libmpathpersist, libudev]) > > + mpathpersist_new_api = false > > + else > > + if get_option('mpath').enabled() > > + error('Cannot detect libmpathpersist API') > > + else > > + warning('Cannot detect libmpathpersist API, disabling') > > + endif > > + endif > > + endif > > endif > > + > > I just gave this a try on my laptop, but I'm seeing: > > ../../devel/qemu/meson.build:508:17: ERROR: Unknown variable > "mpathpersist_new_api". > > ... I guess it should only be printed if mpathpersist.found() ? > > Thomas > > [-- Attachment #2: Type: text/html, Size: 6871 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] meson: move libmpathpersist test 2020-09-16 16:26 [PATCH 0/2] meson: move libmpathpersist test Paolo Bonzini 2020-09-16 16:26 ` [PATCH 1/2] meson: move libudev test Paolo Bonzini 2020-09-16 16:26 ` [PATCH 2/2] meson: move libmpathpersist test Paolo Bonzini @ 2020-09-17 9:59 ` Thomas Huth 2020-09-17 10:36 ` Paolo Bonzini 2 siblings, 1 reply; 7+ messages in thread From: Thomas Huth @ 2020-09-17 9:59 UTC (permalink / raw) To: Paolo Bonzini, qemu-devel On 16/09/2020 18.26, Paolo Bonzini wrote: > Move the libmpathpersist test, as well as its dependency > libudev, to meson. This should fix or help debugging > https://travis-ci.com/github/huth/qemu/jobs/385737549#L4528 Thanks, this indeed decreased the amount of linker errors after I applied the patches, but there are still two errors left: https://travis-ci.com/github/huth/qemu/jobs/385871016#L7839 Any ideas? Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] meson: move libmpathpersist test 2020-09-17 9:59 ` [PATCH 0/2] " Thomas Huth @ 2020-09-17 10:36 ` Paolo Bonzini 0 siblings, 0 replies; 7+ messages in thread From: Paolo Bonzini @ 2020-09-17 10:36 UTC (permalink / raw) To: Thomas Huth, qemu-devel On 17/09/20 11:59, Thomas Huth wrote: > On 16/09/2020 18.26, Paolo Bonzini wrote: >> Move the libmpathpersist test, as well as its dependency >> libudev, to meson. This should fix or help debugging >> https://travis-ci.com/github/huth/qemu/jobs/385737549#L4528 > > Thanks, this indeed decreased the amount of linker errors after I > applied the patches, but there are still two errors left: > > https://travis-ci.com/github/huth/qemu/jobs/385871016#L7839 libmultipath has a libdevmapper dependency, but the cc.links() test does not use the library enough to find the problem. There are more dependencies reported by ldd (liburcu, libaio, libsystemd, libgcrypt, libpcre2) so if this breaks again it's probably best to exclude scsi/qemu-pr-helper from statically-linked builds. In the meanwhile I'll prepare a v2. Paolo ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-09-17 10:37 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-09-16 16:26 [PATCH 0/2] meson: move libmpathpersist test Paolo Bonzini 2020-09-16 16:26 ` [PATCH 1/2] meson: move libudev test Paolo Bonzini 2020-09-16 16:26 ` [PATCH 2/2] meson: move libmpathpersist test Paolo Bonzini 2020-09-16 17:09 ` Thomas Huth 2020-09-16 17:17 ` Paolo Bonzini 2020-09-17 9:59 ` [PATCH 0/2] " Thomas Huth 2020-09-17 10:36 ` Paolo Bonzini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).