Can't link a simple C program using custom --sysroot
Task Info (Flyspray) | |
---|---|
Opened By | João Maia (jpmmaia) |
Task ID | 70688 |
Type | Bug Report |
Project | Community Packages |
Category | Packages |
Version | None |
OS | x86_64 |
Opened | 2021-05-03 07:26:46 UTC |
Status | Assigned |
Assignee | Anatol Pomozov (anatolik) |
Details
Description:
Running aarch64-linux-gnu-gcc hello.c
works fine. However, aarch64-linux-gnu-gcc --sysroot=/path/to/custom/sysroot hello.c
produces the following errors:
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/libc.so.6
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc_nonshared.a when searching for /lib/libc_nonshared.a
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/libc_nonshared.a
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc_nonshared.a when searching for /lib/libc_nonshared.a
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/ld-linux-aarch64.so.1
I have the community/aarch64-linux-gnu-glibc
package installed.
Additional info:
- package version(s): community/aarch64-linux-gnu-gdb 10.1-2 ; community/aarch64-linux-gnu-glibc 2.33-1
Steps to reproduce:
The above problem happens when using a custom ARM64 sysroot created using debootstrap. However, the same happens if I do the following:
$ cp -r /usr/aarch64-linux-gnu .
$ aarch64-linux-gnu-gcc --sysroot=$(pwd)/aarch64-linux-gnu hello.c
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/libc.so.6
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc_nonshared.a when searching for /lib/libc_nonshared.a
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/libc_nonshared.a
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /lib/libc_nonshared.a when searching for /lib/libc_nonshared.a
/usr/lib/gcc/aarch64-linux-gnu/10.2.0/../../../../aarch64-linux-gnu/bin/ld: cannot find /lib/ld-linux-aarch64.so.1
However, this works fine: $ aarch64-linux-gnu-gcc --sysroot=/usr/aarch64-linux-gnu hello.c