Summary: | sci-libs/symengine: Add ~ppc64 keyword | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Chris Kerr <chris.kerr> |
Component: | Keywording | Assignee: | Gentoo Science Mathematics related packages <sci-mathematics> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 3dprint, chris.kerr, frp.bissey, mjo, proxy-maint |
Priority: | Normal | Keywords: | CC-ARCHES, KEYWORDREQ |
Version: | unspecified | Flags: | nattka:
sanity-check+
|
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: |
sci-libs/symengine ppc64
dev-libs/cereal ppc64
sci-mathematics/arb ppc64
sci-mathematics/gmp-ecm ppc64
sci-mathematics/flint ppc64
dev-libs/ntl ppc64
dev-libs/gf2x ppc64
|
Runtime testing required: | --- |
Bug Depends on: | |||
Bug Blocks: | 892183 |
Description
Chris Kerr
2022-09-19 19:21:23 UTC
N.B. I don't know much about the symengine package itself - I am doing this as a stepping stone towards keywording dev-python/sympy for ppc64. Sanity check failed:
> sci-libs/symengine-0.9.0-r3
> depend ~ppc64 stable profile default/linux/ppc64/17.0 (12 total)
> sci-mathematics/gmp-ecm
> depend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (5 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 stable profile default/linux/ppc64/17.0 (12 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (5 total)
> sci-mathematics/gmp-ecm
I also found that, when sci-libs/symengine is compiled with USE=tcmalloc, then the tests for dev-python/symengine fail, whereas they pass when tcmalloc is not being used.
Further investigation shows that the problem comes from importing symengine and scipy.fft at the same time
/var/tmp/portage/dev-python/symengine-0.9.2-r1/work/symengine.py-0.9.2-python3_10 # ./install/usr/bin/python
Python 3.10.6 (main, Aug 14 2022, 19:50:55) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import symengine
>>> import scipy
>>> import scipy.fft
src/tcmalloc.cc:333] Attempt to free invalid pointer 0x1197b73f0
Aborted (core dumped)
So we should also add tcmalloc to package.use.mask
Sanity check failed:
> sci-libs/symengine-0.9.0-r3
> depend ~ppc64 stable profile default/linux/ppc64/17.0 (13 total)
> sci-mathematics/gmp-ecm
> depend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (6 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 stable profile default/linux/ppc64/17.0 (13 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (6 total)
> sci-mathematics/gmp-ecm
Sanity check failed:
> sci-libs/symengine-0.9.0-r3
> depend ~ppc64 stable profile default/linux/ppc64/17.0 (13 total)
> sci-mathematics/gmp-ecm
> depend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (8 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 stable profile default/linux/ppc64/17.0 (13 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (8 total)
> sci-mathematics/gmp-ecm
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3722148932b514097e195b8794cc8cdc366a8a0 commit e3722148932b514097e195b8794cc8cdc366a8a0 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-10-13 22:30:09 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-10-13 22:30:14 +0000 profiles/arch/powerpc/ppc64: mask symengine[tcmalloc] Quoting Chris in the bug: ``` /var/tmp/portage/dev-python/symengine-0.9.2-r1/work/symengine.py-0.9.2-python3_10 # ./install/usr/bin/python Python 3.10.6 (main, Aug 14 2022, 19:50:55) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import symengine >>> import scipy >>> import scipy.fft src/tcmalloc.cc:333] Attempt to free invalid pointer 0x1197b73f0 Aborted (core dumped) ``` Bug: https://bugs.gentoo.org/871921 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/powerpc/ppc64/package.use.mask | 4 ++++ 1 file changed, 4 insertions(+) (In reply to Chris Kerr from comment #0) > The optional dependency sci-mathematics/gmp-ecm includes x86 assembly and > therefore cannot be built on ppc64. Adding `sci-libs/symengine ecm` to > `profiles/arch/powerpc/package.use.mask` will disable the use flag for this > dependency. This seems to have been forgotten as the gmp-ecm optional dependency was added to the package list. I have removed it again. Please add the relevant entry to package.use.mask so that the nattka check will pass. Sanity check failed:
> sci-libs/symengine-0.9.0-r3
> depend ~ppc64 stable profile default/linux/ppc64/17.0 (13 total)
> sci-mathematics/gmp-ecm
> depend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (8 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 stable profile default/linux/ppc64/17.0 (13 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 dev profile default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr (8 total)
> sci-mathematics/gmp-ecm
profiles/arch/powerpc/package.use.mask or profiles/arch/powerpc/ppc64/package.use.mask? (In reply to Joonas Niilola from comment #9) > profiles/arch/powerpc/package.use.mask or > profiles/arch/powerpc/ppc64/package.use.mask? profiles/arch/powerpc/package.use.mask (or alternatively, if there is a way to do that, mask for all arches and unmask for x86 and amd64 only). (In reply to Chris Kerr from comment #10) > or alternatively, if there is a way to do that, mask for all arches and unmask for x86 and amd64 only). I looked into it in more detail. https://packages.gentoo.org/packages/sci-mathematics/gmp-ecm shows that several non-x86 architectures are supported. I then followed the link to the upstream and it has "powerpc32" and "powerpc64" directories. So the x86 assembly build errors I saw when compiling the sci-mathematics/gmp-ecm ebuild are probably a problem with the build script rather than that package being inherently incompatible with ppc64. I will try building again and see if I can modify the sci-mathematics/gmp-ecm ebuild to get it working on ppc64. Sanity check failed:
> sci-libs/symengine-0.9.0-r3
> depend ~ppc64 stable profile default/linux/ppc64/17.0 (19 total)
> sci-mathematics/gmp-ecm
> depend ~ppc64 dev profile default/linux/ppc64/17.0/musl (2 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 stable profile default/linux/ppc64/17.0 (19 total)
> sci-mathematics/gmp-ecm
> rdepend ~ppc64 dev profile default/linux/ppc64/17.0/musl (2 total)
> sci-mathematics/gmp-ecm
(In reply to Chris Kerr from comment #11) > > I will try building again and see if I can modify the > sci-mathematics/gmp-ecm ebuild to get it working on ppc64. The fix was simpler than I thought - simply disable the "custom-tune" USE flag (which is on by default). So please add `sci-mathematics/gmp-ecm custom-tune` to `profiles/arch/powerpc/package.use.mask` and forget what I said earlier about masking the ecm USE flag on symengine. (In reply to Chris Kerr from comment #13) > > So please add `sci-mathematics/gmp-ecm custom-tune` to > `profiles/arch/powerpc/package.use.mask` Make that profiles/arch/powerpc/ppc64/64le/package.use.mask as I suspect that the problem is that I am using ppc64le but the custom tuned assembly is for big-endian ppc64. (In reply to Joonas Niilola from comment #15) > https://gitweb.gentoo.org/repo/gentoo.git/commit/ > ?id=5bdf7768de4b59c0d93eb49e7d0f65a948820949 Thank you Joonas. Now all the blockers to keywording this package have been fixed so we can go ahead and add the keyword. ppc64 done all arches done |