Summary: | >=dev-db/mysql-8.0.22: failed build on ppc, riscv (error: static assertion failed: (unsigned) long long type on this platform does not have an always-lock-free property. Bailing out ...) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sam James <sam> |
Component: | Current packages | Assignee: | Gentoo Linux MySQL bugs team <mysql-bugs> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | dlan |
Priority: | Normal | Keywords: | PATCH, PullRequest |
Version: | unspecified | ||
Hardware: | PPC | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/gentoo/pull/22596 https://github.com/gentoo/gentoo/pull/24038 https://github.com/gentoo/gentoo/pull/40062 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 807721, 789243 | ||
Attachments: |
build.log.xz
mysql-8.0.27:20220104-020755.log.xz ctest.log.xz 0001-fix-libatomic.patch 0002-implement-cycle-timer-for-riscv.patch mysql-8.0.27-link-libatomic.patch mysql-8.0.27-riscv-cycle-timer.patch |
Description
Sam James
![]() ![]() ![]() ![]() Created attachment 679503 [details]
build.log.xz
Looks like this was added in 8.0.22, https://github.com/mysql/mysql-server/commit/6653b43360e0819906dc9272797948abaf22b18c. Please try building previous 8.x to confirm. But in the end there is not much I can do for PPC. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5e09c85854df9e309ab2c146ca42d7f37523632 commit b5e09c85854df9e309ab2c146ca42d7f37523632 Author: Marek Szuba <marecki@gentoo.org> AuthorDate: 2021-08-13 14:09:45 +0000 Commit: Marek Szuba <marecki@gentoo.org> CommitDate: 2021-08-13 14:15:31 +0000 dev-db/mysql: keyword 8.0.26 for -riscv 8.0.22+ rely on certain types having an always-lock-free property, which is (for now?) not the case on this arch. Bug: https://bugs.gentoo.org/761715 Signed-off-by: Marek Szuba <marecki@gentoo.org> dev-db/mysql/mysql-8.0.26.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) *** Bug 811570 has been marked as a duplicate of this bug. *** This doesn't help ppc, but Debian are applying: * https://sources.debian.org/patches/mysql-8.0/8.0.23-3/atomic-test-words.patch/ (-latomic fix) and * https://sources.debian.org/patches/mysql-8.0/8.0.23-3/use-largest-lock-free-type-selector-on-riscv.patch/ I am not able to say if the latter patch would help on PPC at all and honestly I don't think we care (in a nice way). I think we're better off pursuing keeping MariaDB working on PPC instead given it's an older arch. The patch is kind of invasive so I don't know if Whissi will want to apply it, but it might be OK if just applied on riscv + tests pass as a result. Not sure. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd8d0481198229aafb5cda6a3ed36418f5d103f0 commit cd8d0481198229aafb5cda6a3ed36418f5d103f0 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-10-16 02:42:37 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-10-16 03:42:34 +0000 dev-db/mysql: mark -ppc for >= 8.0.22 due to failing assert See: b5e09c85854df9e309ab2c146ca42d7f37523632 Bug: https://bugs.gentoo.org/761715 Signed-off-by: Sam James <sam@gentoo.org> dev-db/mysql/mysql-8.0.22.ebuild | 3 ++- dev-db/mysql/mysql-8.0.23.ebuild | 3 ++- dev-db/mysql/mysql-8.0.25-r1.ebuild | 3 ++- dev-db/mysql/mysql-8.0.25.ebuild | 3 ++- dev-db/mysql/mysql-8.0.26.ebuild | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) (In reply to Sam James from comment #5) > This doesn't help ppc, but Debian are applying: > > * > https://sources.debian.org/patches/mysql-8.0/8.0.23-3/atomic-test-words. > patch/ (-latomic fix) > and > * > https://sources.debian.org/patches/mysql-8.0/8.0.23-3/use-largest-lock-free- > type-selector-on-riscv.patch/ > > I am not able to say if the latter patch would help on PPC at all and > honestly I don't think we care (in a nice way). I think we're better off > pursuing keeping MariaDB working on PPC instead given it's an older arch. > > The patch is kind of invasive so I don't know if Whissi will want to apply > it, but it might be OK if just applied on riscv + tests pass as a result. > Not sure. With these two patches, it compiles successfully on riscv, but some router tests fail with missing atomic on runtime (maybe because some of them are linked as MODULE in cmake). I have improved the atomic patch to make it less invasive and the test pass. Additionally, a cycle timer implementation is required like mariadb https://github.com/MariaDB/server/pull/1981 otherwise there is timer warning that causes all tests to fail. I also include the patch here. With these patches, there are still some ```Could not get local host address: Name or service not known``` fails in router unit tests. I am not sure if it is related to my environment. Created attachment 761331 [details]
mysql-8.0.27:20220104-020755.log.xz
Created attachment 761332 [details]
ctest.log.xz
Created attachment 761333 [details, diff]
0001-fix-libatomic.patch
Created attachment 761334 [details, diff]
0002-implement-cycle-timer-for-riscv.patch
hi @mysql team ping, can we include these two patches? which at #c10, #c11, since upstream already merged.. or anything still need to do? just let us know.. hi @alexfanqi please format the patch a little bit 1) give the signed-off (preserve upstream's author info, or add yours) 2) add commit message, document what's the status (if possible) 3) maybe additional info (URL links, etc..) Created attachment 764064 [details, diff]
mysql-8.0.27-link-libatomic.patch
Created attachment 764065 [details, diff]
mysql-8.0.27-riscv-cycle-timer.patch
hi @mysql, ping, I create a PR to include those two patches from @alexfanqi, basically it only touch RISC-V, so should be quite safe for other ARCHs and if there is no objection, I will commit in one week myself (2022/02/07), thanks (In reply to Sam James from comment #5) > https://sources.debian.org/patches/mysql-8.0/8.0.23-3/use-largest-lock-free- > type-selector-on-riscv.patch/ > this one is also required for RISC-V, I've updated PR to include it. it may sound invasive, but in fact it only touch RISC-V, so pretty safe I'll pick this up with next version bump which is pending, no rev bump for this. Thanks. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=540978ddc9df9a8b41a73bf52f86fdcb88fccc55 commit 540978ddc9df9a8b41a73bf52f86fdcb88fccc55 Author: Yixun Lan <dlan@gentoo.org> AuthorDate: 2022-06-13 12:13:22 +0000 Commit: Jakov Smolić <jsmolic@gentoo.org> CommitDate: 2022-06-13 12:15:55 +0000 dev-db/mysql: add support for RISC-V a) fix atomic link issue b) implement cycle accuracy timer c) use Largest_lock_free_type_selector Bug: https://bugs.gentoo.org/761715 Signed-off-by: Yixun Lan <dlan@gentoo.org> Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> dev-db/mysql/Manifest | 2 +- dev-db/mysql/mysql-8.0.27.ebuild | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8722ba3aeb5ee3262d677f7323d438874c73ebc0 commit 8722ba3aeb5ee3262d677f7323d438874c73ebc0 Author: Sam James <sam@gentoo.org> AuthorDate: 2025-01-09 02:36:57 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-01-09 02:59:49 +0000 profiles/arch/powerpc/ppc32: mask dev-db/mysql All but one version is marked -ppc. Mask it for cleanup. Bug: https://bugs.gentoo.org/761715 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/powerpc/ppc32/package.mask | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) |