我正在将一个Buildroot构建系统从Ubuntu 18.04上的gcc-8升级到Ubuntu 22.04上的gcc-11,我真的很纠结。
在构建grpc 1.32.0时,我看到了很多这样的情况:
host/opt/ext-toolchain/aarch64-none-linux-gnu/include/c++/9.2.1/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
75 | #include_next <stdlib.h>
| ^~~~~~~~~~
compilation terminated.
make[5]: *** [CMakeFiles/grpc_plugin_support.dir/build.make:104: CMakeFiles/grpc_plugin_support.dir/src/compiler/node_generator.cc.o] Error 1
stdlib.h
就在host/opt/ext-toolchain/aarch64-none-linux-gnu/include/c++/9.2.1/stdlib.h
的位置。
我尝试从buildroot(当前为1.51.1,此处)将grpc
升级到最新版本,但仍然看到错误。
最新的grpc
如下所示:https://github.com/buildroot/buildroot/tree/master/package/grpc
为了将我的更新到最新版本,我执行了以下操作:
# fetch latest from upstream buildroot
cd path/to/buildroot
git remote add upstream https://github.com/buildroot/buildroot.git
git fetch upstream master
# grab those changes for the grpc package only
rm -r package/grpc
git checkout upstream/master -- package/grpc
git add -A
git status
git commit -m "Update grpc library"
1条答案
按热度按时间50few1ms1#
这似乎可以让该包的构建通过:
按照我的问题中的解释更新到最新的
grpc
包后,将此定义添加到CMake构建选项中:CMAKE_NO_SYSTEM_FROM_IMPORTED=1
.为此,我打开了我的
buildroot/package/grpc/grpc.mk
makefile,并更改了以下内容:改为:
下面是我的
buildroot/package/grpc/grpc.mk
文件的最终版本:我真的不知道我在做什么,也不知道为什么会这样。我第一次看到它是在这里:www.example.comhttps://github.com/sony/nmos-cpp/issues/150#issuecomment-817259703