编译TinkerBoard2主板BuildRoot系统遇到的问题

一、编译BuildRoot问题

1.1、提示没有install python 

/home/workspace/BuildSpace/Debian$ make
umask 0022 && make -C /home/workspace/BuildSpace/Debian/buildroot O=/home/workspace/BuildSpace/Debian/buildroot/output/rockchip_rk3399_tinkerboard2
grep: /home/workspace/BuildSpace/Debian/buildroot/../kernel/.config: 没有那个文件或目录
You must install 'python' on your build machine
make[1]: *** [support/dependencies/dependencies.mk:25:core-dependencies] Error 1
make: *** [/home/workspace/BuildSpace/Debian/buildroot/output/rockchip_rk3399_tinkerboard2/Makefile:16:_all] Error 2

解决措施:查看/usr/bin/路径是有python3的,而此次编译需要python,直接设置软连接就行

 /home/workspace/BuildSpace/Debian$ sudo ln -s /usr/bin/python3 /usr/bin/python

1.2、c-stack.c:55:26: error: missing binary operator before token

In file included from /usr/include/signal.h:328,
                 from ./signal.h:52,
                 from c-stack.c:49:
c-stack.c:55:26: error: missing binary operator before token "("
   55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
      |                          ^~~~~~~~
  CC       exitfail.o
  CC       fatal-signal.o
  CC       fd-hook.o
  CC       fd-safer-flag.o
make[5]: *** [Makefile:1915: c-stack.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [Makefile:1674: all] Error 2
make[3]: *** [Makefile:1572: all-recursive] Error 1
make[2]: *** [Makefile:1528:all] 错误 2
make[1]: *** [package/pkg-generic.mk:231:/home/workspace/BuildSpace/Debian/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-m4-1.4.18/.stamp_built] 错误 2
make: *** [/home/workspace/BuildSpace/Debian/buildroot/output/rockchip_rk3399_tinkerboard2/Makefile:16:_all] 错误 2

版本问题,新版本已经废弃“SIGSTKSZ”
考虑更换host-m4的版本,或者编译系统的版本
更换host-m4的版本:host-m4-1.4.18->host-m4-1.4.19
下载地址:
https://git.busybox.net/buildroot/
替换hash,mk文件即可:

mkdir tmp

cd tmp
wget https://buildroot.org/downloads/buildroot-2023.02.4.tar.gz
tar -xf buildroot-2023.02.4.tar.gz
rm -rf ../buildroot/package/m4/
cp -rf buildroot-2023.02.4/package/m4/ ../buildroot/package/

cd -

1.3、meson-0.54.2.tar.gz资源找不到

无法建立 SSL 连接。
--2024-01-07 09:39:37--  http://sources.buildroot.net/meson-0.54.2.tar.gz
正在解析主机 sources.buildroot.net (sources.buildroot.net)... 2606:4700:20::681a:25, 2606:4700:20::681a:125, 2606:4700:20::ac43:4838, ...
正在连接 sources.buildroot.net (sources.buildroot.net)|2606:4700:20::681a:25|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 404 Not Found
2024-01-07 09:39:37 错误 404:Not Found。

make[1]: *** [package/pkg-generic.mk:140:/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-meson-0.54.2/.stamp_downloaded] 错误 1
make: *** [/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/Makefile:16:_all] 错误 2

路径错了,可以直接修改buildroot/package/meson/meson.mk

解决方法:可以在Windows下,用 百度网盘或者迅雷 直接访问这个网站下载,将下载的文件放到虚拟机rk sdk的buildroot/dl目录下,然后重新编译

 1.4、error: ‘numeric_limits’ is not a member of ‘std’

/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx: In member function ‘std::size_t std::hash<LanguageData>::operator()(const LanguageData&) const’:
/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:620:43: error: ‘numeric_limits’ is not a member of ‘std’
  620 |                          (i.second ? std::numeric_limits<size_t>::max() : 0));
      |                                           ^~~~~~~~~~~~~~
/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:620:64: error: expected primary-expression before ‘>’ token
  620 |                          (i.second ? std::numeric_limits<size_t>::max() : 0));
      |                                                                ^
/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:620:67: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  620 |                          (i.second ? std::numeric_limits<size_t>::max() : 0));
      |                                                                   ^~~
      |                                                                   std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from /home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmLinkItem.h:8,
                 from /home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmGeneratorTarget.h:8,
                 from /home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:7:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:626:39: error: ‘numeric_limits’ is not a member of ‘std’
  626 |       result ^ (in.IsGenerated ? std::numeric_limits<size_t>::max() : 0);
      |                                       ^~~~~~~~~~~~~~
/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:626:60: error: expected primary-expression before ‘>’ token
  626 |       result ^ (in.IsGenerated ? std::numeric_limits<size_t>::max() : 0);
      |                                                            ^
/home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:626:63: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  626 |       result ^ (in.IsGenerated ? std::numeric_limits<size_t>::max() : 0);
      |                                                               ^~~
      |                                                               std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from /home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmLinkItem.h:8,
                 from /home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmGeneratorTarget.h:8,
                 from /home/workspace/BuildSpace/Linux/buildroot/output/rockchip_rk3399_tinkerboard2/build/host-cmake-3.8.2/Source/cmServerProtocol.cxx:7:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
[ 93%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPackTXZGenerator.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseMumpsCoverage.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseCacheCoverage.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPackTarBZip2Generator.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseGTMCoverage.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPackTarCompressGenerator.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPackZIPGenerator.cxx.o
make[4]: *** [Source/CMakeFiles/CMakeServerLib.dir/build.make:135:Source/CMakeFiles/CMakeServerLib.dir/cmServerProtocol.cxx.o] 错误 1
make[3]: *** [CMakeFiles/Makefile2:2113:Source/CMakeFiles/CMakeServerLib.dir/all] 错误 2
make[3]: *** 正在等待未完成的任务....
[ 93%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPack7zGenerator.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPackDebGenerator.cxx.o
[ 93%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseJacocoCoverage.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseBlanketJSCoverage.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CPackLib.dir/CPack/cmCPackRPMGenerator.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParsePHPCoverage.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseCoberturaCoverage.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseDelphiCoverage.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestGenericHandler.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestLaunch.cxx.o
[ 94%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestHandlerCommand.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestMemCheckCommand.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestMemCheckHandler.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestMultiProcessHandler.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestReadCustomFilesCommand.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestRunScriptCommand.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestRunTest.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestScriptHandler.cxx.o
[ 95%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSleepCommand.cxx.o
[ 96%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestStartCommand.cxx.o
[ 96%] Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmCTestSubmitCo
  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zoipuus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值