build failure on ppc64le

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

We recently started noticing build failures of libvirt for ppc64le on some distros in our build service. Seems it's possible for sources in remote to be built before remote_protocol.h is generated

[ 178s] cc -Isrc/virtnodedevd.p -Isrc -I../src -Isrc/conf -I../src/conf -Isrc/remote -I../src/remote -Isrc/admin -I../src/admin -Isrc/access -I../src/access -Isrc/rpc -I../src/rpc -Isrc/util -I../src/util -Iinclude -I../include -I. -I.. -I/usr/include/p11-kit-1 -I/usr/include/libnl3 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libxml2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -fasynchronous-unwind-tables -fexceptions -fipa-pure-const -fno-common -Waddress -Waggressive-loop-optimizations -Walloc-size-larger-than=9223372036854775807 -Walloca -Warray-bounds=2 -Wattributes -Wbool-compare -Wbool-operation -Wbuiltin-declaration-mismatch -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wcpp -Wdangling-else -Wdate-time -Wdeclaration-after-statement -Wdeprecated-declarations -Wdesignated-init -Wdiscarded-array-qualifiers -Wdiscarded-qualifiers -Wdiv-by-zero -Wduplicated-cond -Wduplicate-decl-specifier -Wempty-body -Wendif-labels -Wexpansion-to-defined -Wformat-contains-nul -Wformat-extra-args -Wno-format-nonliteral -Wformat-overflow=2 -Wformat-security -Wno-format-truncation -Wformat-y2k -Wformat-zero-length -Wframe-address -Wframe-larger-than=2048 -Wfree-nonheap-object -Whsa -Wignored-attributes -Wignored-qualifiers -Wimplicit -Wimplicit-fallthrough=5 -Wimplicit-function-declaration -Wimplicit-int -Wincompatible-pointer-types -Winit-self -Winline -Wint-conversion -Wint-in-bool-context -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch -Wjump-misses-init -Wlogical-not-parentheses -Wlogical-op -Wmain -Wmaybe-uninitialized -Wmemset-elt-size -Wmemset-transposed-args -Wmisleading-indentation -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wnonnull-compare -Wnormalized=nfc -Wnull-dereference -Wodr -Wold-style-declaration -Wold-style-definition -Wopenmp-simd -Woverflow -Woverride-init -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-compare -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wpsabi -Wrestrict -Wreturn-local-addr -Wreturn-type -Wscalar-storage-order -Wsequence-point -Wshadow -Wshift-count-negative -Wshift-count-overflow -Wshift-negative-value -Wshift-overflow=2 -Wno-sign-compare -Wsizeof-array-argument -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wstringop-overflow=2 -Wno-suggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wno-suggest-attribute=pure -Wsuggest-final-methods -Wsuggest-final-types -Wswitch -Wswitch-bool -Wswitch-enum -Wswitch-unreachable -Wsync-nand -Wtautological-compare -Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-const-variable=2 -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvector-operation-performance -Wvla -Wvolatile-register-var -Wwrite-strings -fstack-protector-strong -Wdouble-promotion -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -fPIE -pthread -DIN_LIBVIRT '-Dabs_top_builddir="/home/abuild/rpmbuild/BUILD/libvirt-9.10.0/ppc64le-suse-linux"' '-Dabs_top_srcdir="/home/abuild/rpmbuild/BUILD/libvirt-9.10.0"' '-DDAEMON_NAME="virtnodedevd"' '-DMODULE_NAME="nodedev"' -MD -MQ src/virtnodedevd.p/remote_remote_daemon_config.c.o -MF src/virtnodedevd.p/remote_remote_daemon_config.c.o.d -o src/virtnodedevd.p/remote_remote_daemon_config.c.o -c ../src/remote/remote_daemon_config.c
[  178s] ../src/remote/remote_daemon_config.c: In function ‘daemonConfigNew’:
[ 178s] ../src/remote/remote_daemon_config.c:111:30: error: ‘REMOTE_AUTH_POLKIT’ undeclared (first use in this function); did you mean ‘WITH_POLKIT’?
[  178s]          data->auth_unix_rw = REMOTE_AUTH_POLKIT;
[  178s]                               ^~~~~~~~~~~~~~~~~~
[  178s]                               WITH_POLKIT
[ 178s] ../src/remote/remote_daemon_config.c:111:30: note: each undeclared identifier is reported only once for each function it appears in [ 178s] ../src/remote/remote_daemon_config.c:115:30: error: ‘REMOTE_AUTH_NONE’ undeclared (first use in this function); did you mean ‘REMOTE_AUTH_POLKIT’?
[  178s]          data->auth_unix_rw = REMOTE_AUTH_NONE;
[  178s]                               ^~~~~~~~~~~~~~~~
[  178s]                               REMOTE_AUTH_POLKIT
[ 178s] ../src/remote/remote_daemon_config.c: In function ‘daemonConfigLoadOptions’: [ 178s] ../src/remote/remote_daemon_config.c:252:31: error: ‘REMOTE_AUTH_POLKIT’ undeclared (first use in this function); did you mean ‘WITH_POLKIT’?
[  178s]      if (data->auth_unix_rw == REMOTE_AUTH_POLKIT) {
[  178s]                                ^~~~~~~~~~~~~~~~~~
[  178s]                                WITH_POLKIT
[ 178s] [263/1422] /usr/bin/meson --internal exe --capture src/admin/admin_server_dispatch_stubs.h -- /home/abuild/rpmbuild/BUILD/libvirt-9.10.0/src/rpc/gendispatch.pl --mode=server admin ADMIN ../src/admin/admin_protocol.x [ 179s] [264/1422] /home/abuild/rpmbuild/BUILD/libvirt-9.10.0/scripts/meson-python.sh /usr/bin/python3 /home/abuild/rpmbuild/BUILD/libvirt-9.10.0/scripts/rpcgen/main.py --mode=header ../src/remote/remote_protocol.x src/remote/remote_protocol.h

Full build log of one failure case can be found here

https://build.opensuse.org/build/Virtualization/15.6/ppc64le/libvirt/_log

The below patch fixes the issue in our testing, but I'm not sure if it's the best solution, versus e.g. a dependency along the lines of rpc_dep et. al. Thanks for comments/suggestions.

Regards,
Jim

diff --git a/src/meson.build b/src/meson.build
index 6538c43628..3f989de7f9 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -616,7 +616,7 @@ foreach daemon : virt_daemons
   bin = executable(
     daemon['name'],
     [
-      daemon.get('sources', [ remote_daemon_sources, remote_daemon_generated ]),
+ daemon.get('sources', [ remote_daemon_sources, remote_daemon_generated, remote_driver_generated ]),
       dtrace_gen_objects,
     ],
     c_args: [
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux