首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从源代码下载gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu,生成libc失败

从源代码下载gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu,生成libc失败
EN

Stack Overflow用户
提问于 2022-08-06 04:17:40
回答 1查看 497关注 0票数 1

我目前正在考课程,学习Linux系统编程,在作业2期间,我被要求从来源下载交叉编译器工具链,如标题中所述。此外,我被要求下载降级10.2版本,因为外派评级的目的。

下载了gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz文件及其对应的.asc以及gcc-arm-aarch64-none-linux-gnu-abe-manifest.txt,之后,我盲目地遵循了发布说明中所写的安装说明。

作为参考,我目前正在使用安装了Windows11的ASUS F15膝上型计算机,并使用WSL2功能运行Ubuntu20.04LTS。内核版本为5.10.16.3-microsoft-标准-WSL2 2。

在最后一步,即运行命令

代码语言:javascript
运行
复制
../abe/abe.sh --manifest gcc-arm-aarch64-none-linux-gnu-abe-manifest.txt --build all

它返回以下错误消息:

代码语言:javascript
运行
复制
make[1]: *** [Makefile:470: csu/subdir_lib] Error 2
make[1]: Leaving directory '/home/pingpingy/SysProgramming/CrossCompiler/build/snapshots/glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256'
make: *** [Makefile:9: all] Error 2
make: Leaving directory '/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256'
WARNING: Previous command failed
WARNING: Make had failures!
ERROR (#115): build_all (Failed building libc.)
ERROR (#118): perform_build_steps (Step BUILD failed)
ERROR (#309): build_failure (Build process failed after 0 minutes)

我想学习如何成功地构建交叉编译器。谢谢。

(请原谅我,如果这个信息中有一分钟是放松的,或者几乎没有提供任何放松的信息。)我会迅速提供所需的任何资料。)

编辑:这里有更多的错误信息。

代码语言:javascript
运行
复制
Traceback (most recent call last):
File "../scripts/gen-as-const.py", line 120, in <module>
main()
File "../scripts/gen-as-const.py", line 116, in main
consts = glibcextract.compute_c_consts(sym_data, args.cc)
File "/home/pingpingy/SysProgramming/CrossCompiler/build/snapshots/glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/scripts/glibcextract.py", line 62, in compute_c_consts
subprocess.check_call(cmd, shell=True)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'aarch64-none-linux-gnu-gcc -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno     -ftls-model=initial-exec      -I../include -I/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/csu  -I/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256  -I../sysdeps/unix/sysv/linux/aarch64  -I../sysdeps/aarch64/nptl  -I../sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/aarch64/fpu  -I../sysdeps/aarch64/multiarch  -I../sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /home/pingpingy/SysProgramming/CrossCompiler/build/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-none-linux-gnu/10.2.1/include -isystem /home/pingpingy/SysProgramming/CrossCompiler/build/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-none-linux-gnu/10.2.1/include-fixed -isystem /usr/include  -D_LIBC_REENTRANT -include /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS     -MD -MP -MF /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tcb-offsets.h.dT                  -MT '/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tcb-offsets.h.d /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tcb-offsets.h' -S -o /tmp/tmpsy_o8dhs/test.s -x c - < /tmp/tmpsy_o8dhs/test.c' returned non-zero exit status 1.
Traceback (most recent call last):
File "../scripts/gen-as-const.py", line 120, in <module>
main()
File "../scripts/gen-as-const.py", line 116, in main
consts = glibcextract.compute_c_consts(sym_data, args.cc)
File "/home/pingpingy/SysProgramming/CrossCompiler/build/snapshots/glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/scripts/glibcextract.py", line 62, in compute_c_consts
subprocess.check_call(cmd, shell=True)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'aarch64-none-linux-gnu-gcc -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno     -ftls-model=initial-exec      -I../include -I/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/csu  -I/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256  -I../sysdeps/unix/sysv/linux/aarch64  -I../sysdeps/aarch64/nptl  -I../sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/aarch64/fpu  -I../sysdeps/aarch64/multiarch  -I../sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /home/pingpingy/SysProgramming/CrossCompiler/build/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-none-linux-gnu/10.2.1/include -isystem /home/pingpingy/SysProgramming/CrossCompiler/build/builds/destdir/x86_64-pc-linux-gnu/lib/gcc/aarch64-none-linux-gnu/10.2.1/include-fixed -isystem /usr/include  -D_LIBC_REENTRANT -include /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS     -MD -MP -MF /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tlsdesc.h.dT              -MT '/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tlsdesc.h.d /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tlsdesc.h' -S -o /tmp/tmp28v_udda/test.s -x c - < /tmp/tmp28v_udda/test.c' returned non-zero exit status 1.
make[2]: *** [../Makerules:271: /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tcb-offsets.h] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [../Makerules:271: /home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/tlsdesc.h] Error 1
make[2]: Leaving directory '/home/pingpingy/SysProgramming/CrossCompiler/build/snapshots/glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256/csu'
make[1]: *** [Makefile:470: csu/subdir_lib] Error 2
make[1]: Leaving directory '/home/pingpingy/SysProgramming/CrossCompiler/build/snapshots/glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256'
make: *** [Makefile:9: all] Error 2
make: Leaving directory '/home/pingpingy/SysProgramming/CrossCompiler/build/builds/x86_64-pc-linux-gnu/aarch64-none-linux-gnu/glibc-glibc.git~_rev_8dc76056654f8013a54678461fb023e988a17256'
WARNING: Previous command failed
WARNING: Make had failures!
ERROR (#115): build_all (Failed building libc.)
ERROR (#118): perform_build_steps (Step BUILD failed)
ERROR (#309): build_failure (Build process failed after 0 minutes)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-14 20:58:02

甚至我也在学习同样的课程,在尝试了一段时间之后,在引用了这个链接之后,我能够想出如何安装交叉编译器。

https://gist.github.com/eltonvs/e7cd472dded89e7dcf4aea822e8121c1

在该页面中,他们给出了使用"gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux.tar.xz“的示例

在我的例子中,我下载了"gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz",

  1. 下载gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz,,确保下载正确的文件。
  2. 焦油gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz -zxf
  3. 然后复制或移动在untar之后得到的文件夹到/opt/目录
  4. 编写一个简单的.c文件并使用 /opt/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc a.c (此处给出示例.c文件名)
  5. 在命令下面运行以检查是否为ARM创建了二进制文件。 文件a.out (给出编译后生成的二进制名称)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73257134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档