Package: galera-3 Version: 25.3.13-2 Severity: serious Tags: upstream Justification: fails to build from source (but built successfully in the past)
Failed to build Galera in pbuilder for armhf (Debian Jessie) on amd64. I could successfully build Galera 2.3.6, however, I face problems building other versions. One of the problems is that all versions of Galera after 2.3.6 and before 2.3.14 have the same debian/changelog file that refers to version 2.3.6. The up-to-date version of this file is required, because it is used by the pbuilder to detect version of the package. So, in order to start a build (pass through the pbuilder's pre-build checks) I had to write the correct version into that file, e.g. 2.3.13-1 (quilt format) for Galera 2.3.13. After that the compilation of the Galera 2.3.13 finishes successfully, but the build process fails on builder unit tests (the last important lines of the build log): g++ -o galera/tests/galera_check -Wl,-z,relro galera/tests/galera_check.o galera/tests/data_set_check.o galera/tests/key_set_check.o galera$ builder_unit_test(["galera/tests/galera_check.passed"], ["galera/tests/galera_check"]) Running suite(s): DataSet 100%: Checks: 1, Failures: 0, Errors: 0 Running suite(s): KeySet 100%: Checks: 1, Failures: 0, Errors: 0 Running suite(s): WriteSet 100%: Checks: 2, Failures: 0, Errors: 0 Running suite(s): write_set 100%: Checks: 8, Failures: 0, Errors: 0 Running suite(s): trx_handle 100%: Checks: 2, Failures: 0, Errors: 0 Running suite(s): service_thd 100%: Checks: 3, Failures: 0, Errors: 0 Running suite(s): ist qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 100%: Checks: 6, Failures: 0, Errors: 0 Running suite(s): saved_state qemu: uncaught target signal 11 (Segmentation fault) - core dumped 33%: Checks: 3, Failures: 1, Errors: 1 galera/tests/saved_state_check.cpp:48:E:saved_state:test_unsafe:0: (after this point) Received signal 11 (Segmentation fault) galera/tests/saved_state_check.cpp:155:F:saved_state:test_corrupt:0: Failure 'uuid == WSREP_UUID_UNDEFINED' occured Total tests failed: 2 scons: *** [galera/tests/galera_check.passed] Error 1 scons: building terminated because of errors. debian/rules:28: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 The log above was generated using qemu-user-static (1:2.1+dfsg-12+deb8u5a) - the default version in Debain Jessie. Then I upgraded this package to qemu-user-static (1:2.5+dfsg-4~bpo8+1) using jessie-backports repositories. The build in the newer environment gave similar results: g++ -o galera/tests/galera_check -Wl,-z,relro galera/tests/galera_check.o galera/tests/data_set_check.o galera/tests/key_set_check.o galera$ builder_unit_test(["galera/tests/galera_check.passed"], ["galera/tests/galera_check"]) Running suite(s): DataSet 100%: Checks: 1, Failures: 0, Errors: 0 Running suite(s): KeySet 100%: Checks: 1, Failures: 0, Errors: 0 Running suite(s): WriteSet 100%: Checks: 2, Failures: 0, Errors: 0 Running suite(s): write_set 100%: Checks: 8, Failures: 0, Errors: 0 Running suite(s): trx_handle 100%: Checks: 2, Failures: 0, Errors: 0 Running suite(s): service_thd 100%: Checks: 3, Failures: 0, Errors: 0 Running suite(s): ist qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 qemu: Unsupported syscall: 350 100%: Checks: 6, Failures: 0, Errors: 0 Running suite(s): saved_state 33%: Checks: 3, Failures: 1, Errors: 1 galera/tests/saved_state_check.cpp:48:E:saved_state:test_unsafe:0: (after this point) Test timeout expired galera/tests/saved_state_check.cpp:155:F:saved_state:test_corrupt:0: Failure 'uuid == WSREP_UUID_UNDEFINED' occured Total tests failed: 2 scons: *** [galera/tests/galera_check.passed] Error 1 scons: building terminated because of errors. debian/rules:28: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 According to old Galera thread https://groups.google.com/forum/#!topic/codership-team/ZWwZYG78a6A on Google Groups this issue is related to timeouts defined for the tests. If the test goes too long (which may happen in VM), then it is considered to be failed. It was suggested to alter the string with tcase_set_timeout(tc, 120); call in file galera/galera/tests/saved_state_check.cpp. I tried increasing the value to 1200 and even commenting out this command - no luck in both cases - I got the same errors. Building the Galera on a real armhf device (under Debian jessie) is successful. So, the issue is related to some tests that don't pass in the VM. Thus, causing to terminate the build process. -- System Information: Debian Release: 8.3 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)