【问题标题】:Buildroot cannot make with glibcBuildroot 无法使用 glibc
【发布时间】:2020-08-24 15:18:11
【问题描述】:

在完成 Raspberry Pi 4 的 buildroot 配置后尝试运行 make 时,出现以下错误:

mkdir -p /media/adrian/DyskB/buildroot/buildroot/output/build/glibc-2.31-49-g6f3459f9859a7b506c64fa1823769ab631072c6e/build
# Do the configuration
(cd /media/adrian/DyskB/buildroot/buildroot/output/build/glibc-2.31-49-g6f3459f9859a7b506c64fa1823769ab631072c6e/build; PATH="/media/adrian/DyskB/buildroot/buildroot/output/host/bin:/media/adrian/DyskB/buildroot/buildroot/output/host/sbin:/home/adrian/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/adrian/Software/scilab-6.0.2/bin" AR="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-ar" AS="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-as" LD="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-ld" NM="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-nm" CC="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc" GCC="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc" CPP="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-cpp" CXX="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-g++" FC="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gfortran" F77="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gfortran" RANLIB="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-ranlib" READELF="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-readelf" STRIP="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-strip" OBJCOPY="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-objcopy" OBJDUMP="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/media/adrian/DyskB/buildroot/buildroot/output/host/include" CFLAGS_FOR_BUILD="-O2 -I/media/adrian/DyskB/buildroot/buildroot/output/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/media/adrian/DyskB/buildroot/buildroot/output/host/include" LDFLAGS_FOR_BUILD="-L/media/adrian/DyskB/buildroot/buildroot/output/host/lib -Wl,-rpath,/media/adrian/DyskB/buildroot/buildroot/output/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-as" DEFAULT_LINKER="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " LDFLAGS="" FCFLAGS=" -Os " FFLAGS=" -Os " PKG_CONFIG="/media/adrian/DyskB/buildroot/buildroot/output/host/bin/pkg-config" STAGING_DIR="/media/adrian/DyskB/buildroot/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot" INTLTOOL_PERL=/usr/bin/perl CFLAGS="-O2 " CPPFLAGS="" CXXFLAGS="-O2 " ac_cv_path_BASH_SHELL=/bin/sh libc_cv_forced_unwind=yes libc_cv_ssp=no ac_cv_prog_MAKE="/usr/bin/make -j5" /bin/bash /media/adrian/DyskB/buildroot/buildroot/output/build/glibc-2.31-49-g6f3459f9859a7b506c64fa1823769ab631072c6e/configure --target=arm-buildroot-linux-gnueabihf --host=arm-buildroot-linux-gnueabihf --build=x86_64-pc-linux-gnu --prefix=/usr --enable-shared  --with-pkgversion="Buildroot" --disable-profile --disable-werror --without-gd --enable-obsolete-rpc --enable-kernel=5.4 --with-headers=/media/adrian/DyskB/buildroot/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include)
checking build system type... x86_64-pc-linux-gnu
checking host system type... arm-buildroot-linux-gnueabihf
checking for arm-buildroot-linux-gnueabihf-gcc... /media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc
checking for suffix of object files... configure: error: in `/media/adrian/DyskB/buildroot/buildroot/output/build/glibc-2.31-49-g6f3459f9859a7b506c64fa1823769ab631072c6e/build':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details
make[1]: *** [package/pkg-generic.mk:240: /media/adrian/DyskB/buildroot/buildroot/output/build/glibc-2.31-49-g6f3459f9859a7b506c64fa1823769ab631072c6e/.stamp_configured] Błąd 1
make: *** [Makefile:84: _all] Błąd 2

我该如何修复它? Błąd = Error 在我的语言中

【问题讨论】:

  • 您是否按照建议查看了config.log
  • 仅在您的建议之后,对不起 :D 重复行/media/adrian/DyskB/buildroot/buildroot/output/build/glibc-2.31-49-g6f3459f9859a7b506c64fa1823769ab631072c6e/configure: line 2635: /media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc: No such file or directory'. 将有助于粘贴完整的文件内容还是足够了?我不确定,但我以前见过这个名字,我需要更改工具链吗?我目前正在使用 buildroot 工具链。
  • 看起来您的交叉编译器在您的PATH 中丢失或没有。有没有工作的交叉编译器/media/adrian/DyskB/buildroot/buildroot/output/host/bin/arm-buildroot-linux-gnueabihf-gcc
  • 不存在,我只找到了arm-buildroot-linux-uclibcgnueabihf-gcc。
  • 可能与您的配置不一致。您显然在某处声明您将使用轻量级 uClibc,但 buildroot 所期望的工具链是常规 libc 的工具链。我个人会从头开始,注意工具链和库选项。

标签: linux makefile buildroot


【解决方案1】:

我将工具链从 Buildroot 工具链更改为外部 ARM 工具链,它现在可以工作了。需要重新构建所有包,所以在更改工具链后第一次构建我输入make clean all而不是纯make

【讨论】:

  • @lzZy,你的意思可能是make clean all而不是make clear all
  • @lzZy,它正在工作,感谢您的解决方案对我帮助很大,我遇到了make clean all 错误,但忽略了它并执行了make,它正在工作。
  • @DRPandya 这是很久以前的事了,但我想我的意思是clean,感谢关注,已修复。很高兴看到它帮助了某人:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 2022-01-23
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多