主题 : 使用crosstool制作交叉编译器报错:cat: unrecognized option '--notest' 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 3241
精华: 0
发帖: 57
金钱: 435 两
威望: 327 点
综合积分: 114 分
注册时间: 2009-01-01
最后登录: 2017-05-18
楼主  发表于: 2011-03-16 00:11

 使用crosstool制作交叉编译器报错:cat: unrecognized option '--notest'

自己想制作个交叉编译器;
按网上的资料到http://ftp.gnu.org上下了
crosstool-0.43.tar.gz
gcc-4.5.2.tar.gz
glibc-2.3.6.tar.gz
glibc-linuxthreads-2.3.6.tar.gz
linux-libc-headers-2.6.12.0.tar.gz
linux-2.6.34.1.tar.bz2
............
等资源文件

解压crosstool.

修改了arm.dat如下:
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O"


修改gcc-4.0.2-glibc-2.3.6.dat如下
BINUTILS_DIR=binutils-2.21
GCC_DIR=gcc-4.5.2
GLIBC_DIR=glibc-2.3.6
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
LINUX_DIR=linux-2.6.34.1
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0

然后新建arm.sh如下:
#!/bin/sh
set -ex
TARBALLS_DIR=/home/qin/crosstool/downloads           #资源文件放置的路径
RESULT_TOP=/opt/crosstool                                               #define the tool install dir
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++" #define the support languess
export GCC_LANGUESS
#mkdir -p $RESULT_TOP #Create /opt/crosstool dir ,had mk
mkdir -p $RESULT_TOP
eval 'cat arm.dat gcc-4.0.2-glibc-2.3.6.dat' sh all.sh --notest
echo Done
最后执行./arm.sh的log为:
root@ubuntu:/home/qin/crosstool# ./arm.sh
+ TARBALLS_DIR=/home/qin/crosstool/downloads
+ RESULT_TOP=/opt/crosstool
+ export TARBALLS_DIR RESULT_TOP
+ GCC_LANGUAGES=c,c++
+ export GCC_LANGUESS
+ mkdir -p /opt/crosstool
+ eval cat arm.dat gcc-4.0.2-glibc-2.3.6.dat sh all.sh --notest
+ cat arm.dat gcc-4.0.2-glibc-2.3.6.dat sh all.sh --notest
cat: unrecognized option '--notest'
Try `cat --help' for more information.

--------------------------------------------------------
这个--notest是做神马用的呢?
如果去掉这个--notest
输出又变成了
cat: sh: No such file or directory

------------------------------------------
不解中......
求高人指点,小弟不胜感激!
先行谢过!
[ 此帖被qinqin04在2011-03-16 00:26重新编辑 ]
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2011-03-17 09:43
制作toolchain是非常折腾的事...编译一次要很长时间, 还要测试很长时间...
另外, gcc 4.5.2和glibc 2.3.6搭配可能是不行的, 如果是glibc 2.3.6, 建议用gcc 4.1.2
还有, 好像你没有binutils
级别: 侠客
UID: 3241
精华: 0
发帖: 57
金钱: 435 两
威望: 327 点
综合积分: 114 分
注册时间: 2009-01-01
最后登录: 2017-05-18
2楼  发表于: 2011-03-17 21:45
引用第1楼911gt3于2011-03-17 09:43发表的  :
制作toolchain是非常折腾的事...编译一次要很长时间, 还要测试很长时间...
另外, gcc 4.5.2和glibc 2.3.6搭配可能是不行的, 如果是glibc 2.3.6, 建议用gcc 4.1.2
还有, 好像你没有binutils

搭配可能是会有问题,但报的错看似不是搭配的问题吧
binutils有的,上面忘了列出了!
--------------------------
看似挺麻烦的,编译时间长不要紧,大不了留着机子跑一晚上,呵呵!
据说用不同的交叉编译器编出来的东西大小是不一样的,想自己弄个试试!
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
3楼  发表于: 2011-03-18 09:28
建议你先好好学习一下shell脚本, 这个很重要