Summary: | media-libs/libglvnd - compilation error in ARM64 (new install) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Vasile M. <vasile.m3> |
Component: | Current packages | Assignee: | Gentoo X packagers <x11> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | ARM64 | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=810793 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info
libglvnd build log |
Description
Vasile M.
2021-08-20 18:49:32 UTC
Could you please file a bug for each issue with the full build.log and emerge —-info? Created attachment 734632 [details]
emerge --info
(In reply to Sam James from comment #1) > Could you please file a bug for each issue with the full build.log and > emerge —-info? Of course. How can I edit or remove this bug? Created attachment 734635 [details]
libglvnd build log
Hm, we need it to not pass '-DUSE_ARMV7_ASM' I assume. Why appears armv7 if arm64 (aarch64) in Gentoo is no multilib? How to force it to compile only lp64, armv8-a instructions? I am the only one who uses Gentoo in ARM64? How to install Gentoo from stage 3 tarball if the dependencies libglvnd and dav1d cannot be compiled? (In reply to Vasile M. from comment #7) > I am the only one who uses Gentoo in ARM64? > How to install Gentoo from stage 3 tarball if the dependencies libglvnd and > dav1d cannot be compiled? I use arm64 musl on the x-c1 servers without an issue. Is there a reason your building 32bit instead of true 64bit arm64 support? (In reply to Jory A. Pratt from comment #8) > Is there a reason your building 32bit instead of true 64bit arm64 support? I'm building 64bit. The stage 3 tarball is arm64. I don't understand why that library is building with 32bit. My CPU (Snapdragon 855, Android device) Architecture: armv8l CPU op-mode(s): 32-bit, 64-bit Is there a flag to force it to build in 64bit instruction set? (In reply to Vasile M. from comment #9) > (In reply to Jory A. Pratt from comment #8) > > Is there a reason your building 32bit instead of true 64bit arm64 support? > > I'm building 64bit. The stage 3 tarball is arm64. > I don't understand why that library is building with 32bit. > > My CPU (Snapdragon 855, Android device) > Architecture: armv8l > CPU op-mode(s): 32-bit, 64-bit > > Is there a flag to force it to build in 64bit instruction set? use armv8-a if you want to execute in 64bit mode, armv8l tells it you want to execute 32bit mode (In reply to Jory A. Pratt from comment #10) > use armv8-a if you want to execute in 64bit mode, armv8l tells it you want > to execute 32bit mode I have tested this a long time ago, and I'm testing it again now. "-march=armv8-a" produces the same error. "-march=armv8-a -mabi=lp64", same error. "-mcpu=native -mabi=lp64", same error. Note: "-mcpu=armv8-a" produces a generic error (no error message) and no package can be compiled. mcpu should be the cpu, not the architecture. "-mcpu=cortex-a76", same error. "-mcpu=kryo", same generic error. "-mcpu=kryo485", same generic error. With "-mcpu=kryo" and "kryo485" it builds 64bit, but the gnu assembler doesn't recognize the "kryo" and "kryo485" and it fails. Changing it to "cortex-a76" it produces the same error by using 32bit asm. Any ideas? Solved. The architecture in chroot (Android) is wrong. To choose the appropriate architecture, you must execute the setarch command. setarch --list setarch aarch64 I will investigate how to make aarch64 as the default architecture when doing the chroot proces. |