Libvirt compiles fine on aarch64. You will need to configure with --without-dtrace as systemtap tracepoints are pretty broken, giving lots of strange compile-time errors/link failures in both libvirt and qemu. The test suite fails, see attachment. Note this is all running under qemu-arm64 userspace emulation[1], so certain things are expected to be a bit different. In particular, any aarch64 binary which the test suite runs is actually run under the qemu-arm64 interpreter (using binfmt). I'm guessing this explains the extra file descriptor in some tests. Also qemu intercepts system calls and thunks them into host system calls (an x86-64 host in this case), and its support for IPv6 seems shaky at best. Rich. [1] http://rwmj.wordpress.com/2013/12/22/how-to-run-aarch64-binaries-on-an-x86-64-host-using-qemu-userspace-emulation/#content -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
========================================= libvirt 1.2.1: tests/test-suite.log ========================================= # TOTAL: 96 # PASS: 89 # SKIP: 4 # XFAIL: 0 # FAIL: 3 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 SKIP: nodeinfotest ================== FAIL: commandtest ================= TEST: commandtest 1) Command Exec test0 test ... OK 2) Command Exec test1 test ... OK 3) Command Exec test2 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 4) Command Exec test3 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:5 FD:7 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 FD:5 FD:7 DAEMON:no CWD:/tmp ] ... FAILED 5) Command Exec test4 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:yes CWD:/ ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:yes CWD:/ ] ... FAILED 6) Command Exec test5 test ... Offset 0 Expect [ENV:HOME=/home/test ENV:LC_ALL=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:HOME=/home/test ENV:LC_ALL=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 7) Command Exec test6 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 8) Command Exec test7 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:LC_ALL=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:LC_ALL=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 9) Command Exec test8 test ... Offset 0 Expect [ENV:LANG=C ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:LANG=C ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 10) Command Exec test9 test ... Offset 0 Expect [ARG:-version ARG:-log=bar.log ARG:arg1 ARG:arg2 ARG: ARG:arg4 ARG:arg5 ARG:arg6 ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ARG:-version ARG:-log=bar.log ARG:arg1 ARG:arg2 ARG: ARG:arg4 ARG:arg5 ARG:arg6 ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 11) Command Exec test10 test ... Offset 0 Expect [ARG:-version ARG:-log=bar.log ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ARG:-version ARG:-log=bar.log ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 12) Command Exec test11 test ... Offset 0 Expect [ARG:-version ARG:-log=bar.log ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ARG:-version ARG:-log=bar.log ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 13) Command Exec test12 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 14) Command Exec test13 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 15) Command Exec test14 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 16) Command Exec test15 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:.../commanddata ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:.../commanddata ] ... FAILED 17) Command Exec test16 test ... OK 18) Command Exec test17 test ... OK 19) Command Exec test18 test ... OK 20) Command Exec test19 test ... OK 21) Command Exec test20 test ... Offset 0 Expect [ARG:--close-stdin ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ARG:--close-stdin ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED 22) Command Exec test21 test ... Offset 0 Expect [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 DAEMON:no CWD:/tmp ] Actual [ENV:DISPLAY=:0.0 ENV:HOME=/home/test ENV:HOSTNAME=test ENV:LANG=C ENV:LOGNAME=testTMPDIR=/tmp ENV:PATH=/usr/bin:/bin ENV:USER=test FD:0 FD:1 FD:2 FD:3 DAEMON:no CWD:/tmp ] ... FAILED STDOUT:BEGIN STDOUT Hello world END STDOUT STDERR:BEGIN STDERR Hello world END STDERR FAIL: sysinfotest ================= TEST: sysinfotest 1) aarch64 sysinfo ... Offset 0 Expect [<sysinfo type='smbios'> </sysinfo> ] Actual [<sysinfo type='smbios'> <processor> <entry name='socket_destination'>0</entry> <entry name='type'>AArch64 Processor rev 0 (aarch64) </entry> </processor> <processor> <entry name='socket_destination'>1</entry> <entry name='type'>AArch64 Processor rev 0 (aarch64)</entry> </processor> </sysinfo> ] ... FAILED FAIL: virnetsockettest ====================== TEST: virnetsockettest Cannot identify IPv4/6 availability SKIP: securityselinuxtest ========================= TEST: securityselinuxtest SKIP: securityselinuxlabeltest ============================== TEST: securityselinuxlabeltest SKIP: virsh-all =============== ./virsh-all: skipping test: This test is very expensive, so it is disabled by default. To run it anyway, rerun: make check VIR_TEST_EXPENSIVE=1
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list