- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全手工制作arm-linux交叉编译工具链
全手工制作arm-linux交叉编译工具链(Gcc 4.2.1 + Glibc 2.6.1 + Linux )《二》作者:Garfield Trump《四》具体实现:/view/clfs-sysroot/arm/index.html在此部分的制作过程主要参考以上网站完成,但其中制作过程有错,在本文中Garfield Trump予以了纠正。读者可以事后参看一下。我会在以下篇幅中指出与该网站的不同之处,并说明错在什么地方。建议先看本文,此网站的目录结构比较混乱,而且按该网站所述建立工作目录,一定会出错,是在第二阶段 Gcc 制作中出错,原因是找不到头文件。4.1 下载所需源码包/gnu/binutils/binutils-2.18.tar.bz2/svn/repos/cross-lfs/branches/clfs-sysroot/patches/binutils-2.18-posix-1.patch/gnu/gcc/gcc-4.2.1/gcc-4.2.1.tar.bz2/svn/repos/cross-lfs/branches/clfs-sysroot/patches/gcc-4.2.1-posix-1.patch/svn/repos/cross-lfs/branches/clfs-sysroot/patches/gcc-4.2.1-cross_search_paths-1.patch/gnu/glibc/glibc-2.6.1.tar.bz2/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-sysdep_cancel-1.patch/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-localedef_segfault-1.patch/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-libgcc_eh-1.patch/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-hppa_nptl-1.patch/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-cross_hacks-1.patch/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch4.2 设置环境变量export TAR=/tar //设置源文件压缩包的存放目录路径export TOP=/usr/local/arm //设置目标工具链目录的顶成目录export CLFS=${TOP}/clfs //设置编译过程工作目录export SYSROOT=${TOP}/4.2.1 //设置目标工具链的工作目录export TARGET_PREFIX=${TOP}/4.2.1 //设置目标工具链的安装目录注意:这里的SYSROOT 和 TARGET_PREFIX 设成相同。跟/view/clfs-sysroot/arm/index.html 上所讲的有所不同,也是该网站出错最严重的地方,因为不但制作过程需要 Linux 内核头文件 跟 glibc 的头文件,而且以后使用这个制作出来的目标交叉编译工具链来编译程序的时候也会用到这些头文件,特别是Linux内核的头文件。所以Garfield Trump 把SYSROOT 和 TARGET_PREFIX设成相同,以便把头文件直接安装到目标交叉编译工具链的工作目录中。LINUX_VERSION= //设置 Linux 的版本号BINUTILS_VERSION=2.18 //设置 binutils 的版本号GLIBC_VERSION=2.6.1 //设置 glibc 的版本号GCC_VERSION=4.2.1 //设置 目标工具链的版本号unset CFLAGS //禁用两个环境变量,因为可能导致编译过程出错unset CXXFLAGS //默认情况下这两个环境变量为空,但随不同的Linux 平台的不同,或者用户自己之前的使用过程中设置了这两个变量设置目标工具链的目标体系,Gcc编译器会根据这个变量来确定目标交叉编译工具链是为那个目标体系的cpu编译程序的。export CLFS_TARGET=arm-linux //设置目标交叉编译工具链的编译器(arm-linux
文档评论(0)