[debian-mysql] Bug#917395: mariadb-10.3 FTBFS on hppa

Helge Deller deller at gmx.de
Thu Dec 27 09:49:49 GMT 2018


Package: mariadb-10.3
Version: 10.3.11-2
Severity: important

mariadb fails to build on hppa because one test (repair_symlink-5543) fails.
The full log is here:
https://buildd.debian.org/status/fetch.php?pkg=mariadb-10.3&arch=hppa&ver=1%3A10.3.11-2&stamp=1545776762&raw=0

The testcase reports this problem:

CURRENT_TEST: main.repair_symlink-5543
--- /<<PKGBUILDDIR>>/mysql-test/main/repair_symlink-5543.result	2018-11-16 18:04:49.000000000 +0000
+++ /<<PKGBUILDDIR>>/mysql-test/main/repair_symlink-5543.reject	2018-12-25 22:15:41.456559684 +0000
@@ -4,15 +4,15 @@
 # don't have openat and fail with errcode 20.
 repair table t1;
 Table	Op	Msg_type	Msg_text
-test.t1	repair	error	20 for record at pos 0
-test.t1	repair	Error	File 'MYSQL_TMP_DIR/t1.MYD' not found (Errcode: 20 "<errmsg>")
+test.t1	repair	error	249 for record at pos 0
+test.t1	repair	Error	File 'MYSQL_TMP_DIR/t1.MYD' not found (Errcode: 249 "<errmsg>")
 test.t1	repair	status	Operation failed
...

and ./mysql-test/main/repair_symlink-5543.result says:

# Some systems fail with errcode 40, when doing openat, while others
# don't have openat and fail with errcode 20.
repair table t1;
Table   Op      Msg_type        Msg_text
test.t1 repair  error   20 for record at pos 0
test.t1 repair  Error   File 'MYSQL_TMP_DIR/t1.MYD' not found (Errcode: 20 "<errmsg>")

So, the "20" and "40" is x86/"asm-generic" specific
and stands for ENOTDIR (20) and ELOOP (40).

Other platforms have:

include/uapi/asm-generic/errno.h:#define        ELOOP           40      /* Too many symbolic links encountered */
arch/mips/include/uapi/asm/errno.h:#define ELOOP                90      /* Too many symbolic links encountered */
arch/alpha/include/uapi/asm/errno.h:#define     ELOOP           62      /* Too many symbolic links encountered */
arch/sparc/include/uapi/asm/errno.h:#define     ELOOP           62      /* Too many symbolic links encountered */
arch/parisc/include/uapi/asm/errno.h:#define    ELOOP           249     /* Too many symbolic links encountered */

So, parisc which has the openat() syscall returns correctly 249, which means the testcase in mariadb needs adjustment for parisc.
I'm not sure why it doesn't fail on mips, alpha & sparc too, maybe because those platforms don't run the testcases, because they are listed in debian/rules:
# Ignore test suite exit code on unstable platforms
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),mips mipsel mips64el alpha powerpc sh4 hurd-i386 sparc64 kfreebsd-i386 kfreebsd-amd64))
    TESTSUITE_FAIL_CMD:=true
else
    TESTSUITE_FAIL_CMD:=exit 1
endif

I'd suggest to either add hppa to the list in debian/rules too, or to disable this specifc
test for hppa (does an unstable-tests.hppa file still exists) ?

Thanks,
Helge



More information about the pkg-mysql-maint mailing list