构建嵌入式linux系统学习

发布于 2022-09-28 10:11:36 字数 2773 浏览 14 评论 0

<构建嵌入式linux系统学习>这本书不错,我尝试用它来搭建手机操作系统.在接下来的过程,我会把遇到的问题和解决方法写出来,供大家参考.

在编译gcc-2.95.3时,make all-gcc报错.
            ../../gcc-2.95.3/gcc/gthr-posix.h:37: pthread.h: No such file or directory
            make[3]: *** [libgcc2.a] Error 1
            make[2]: *** [stmp-multilib-sub] Error 2
            make[1]: *** [stmp-multilib] Error 1
            make: *** [all-gcc] Error 2

解决方法.
在我们编译并安装 gcc 前,我们先要改一个文件 $PRJROOT/gcc/config/arm/t-linux,把
TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC
这一行改为
TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h

你如果没定义 -Dinhibit,编译时将会报如下的错误

            ../../gcc-2.95.3/gcc/libgcc2.c:41: stdlib.h: No such file or directory
            ../../gcc-2.95.3/gcc/libgcc2.c:42: unistd.h: No such file or directory
            make[3]: *** [libgcc2.a] Error 1
            make[2]: *** [stmp-multilib-sub] Error 2
            make[1]: *** [stmp-multilib] Error 1
            make: *** [all-gcc] Error 2
            

如果没有定义 -D__gthr_posix_h,编译时会报如下的错误

            In file included from gthr-default.h:1,
            from ../../gcc-2.95.3/gcc/gthr.h:98,
            from ../../gcc-2.95.3/gcc/libgcc2.c:3034:
            ../../gcc-2.95.3/gcc/gthr-posix.h:37: pthread.h: No such file or directory
            make[3]: *** [libgcc2.a] Error 1
            make[2]: *** [stmp-multilib-sub] Error 2
            make[1]: *** [stmp-multilib] Error 1
            make: *** [all-gcc] Error 2
            

还有一种与-Dinhibit同等效果的方法,那就是在你配置configure时多加一个参数-with-newlib,这个选项不会迫使我们必须使用newlib。我们编译了bootstrap-gcc后,仍然可以选择任何c库。

接着就是配置boostrap gcc, 后面要用bootstrap gcc 来编译 glibc 库。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

遗失的美好 2022-10-05 10:11:36

楼主,你好,能否把你的成功经验写出来

蔚蓝源自深海 2022-10-05 10:11:36

不是吧,这是toolchain得创建方法,不是linux os啊

压抑⊿情绪 2022-10-05 10:11:36

呵呵,学习中,谢谢分享……

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文