|
我在按照Cross-Compiled Linux From Scratch - Sysroot - Version SVN-0.0.1-20090131-ARM
制作tool chain
前面的过程还算顺利,但是到第一遍编译gcc-4.3.2的时候卡住了。
configure (参数照抄)可以通过。
但make执行了近10分钟的时候,出这个错误:
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
网上一查,不少人遇到,解决了的寥寥,仅有一个老兄遇到同样的问题,症状与我所说完全相同,解决了。但他的原因是根本没有先编译binutils。我这binutils编译已经正常通过了。
config.log显示,
在用xgcc进行测试的时候出错,Permission denied
测试用的命令是用xgcc编译一个临时文件。
手动模拟这个过程,得到同样的结果,Permission denied。
然后我按照上面说的那位老兄相同的方法,用strace跟踪,最后的几行让人大跌眼镜:
27770 execve("/usr/local/sbin/", ["", "-o", "/tmp/ccW5LwDQ.o", "/tmp/ccrqibTW.s"], [/* 23 vars */]) = -1 EACCES (Permission denied)
27770 execve("/usr/local/bin/", ["", "-o", "/tmp/ccW5LwDQ.o", "/tmp/ccrqibTW.s"], [/* 23 vars */]) = -1 EACCES (Permission denied)
27770 execve("/usr/sbin/", ["", "-o", "/tmp/ccW5LwDQ.o", "/tmp/ccrqibTW.s"], [/* 23 vars */]) = -1 EACCES (Permission denied)
27770 execve("/usr/bin/", ["", "-o", "/tmp/ccW5LwDQ.o", "/tmp/ccrqibTW.s"], [/* 23 vars */]) = -1 EACCES (Permission denied)
那位老兄就是在这发现的问题,他发现xgcc调用as,而他根本没有编译binutils,没有cross的as嘛。
不幸的是,我的问题是,不知xgcc怎么找as的,找到了一个空字符串,并且扔到execve里像模像样地执行,不deny才怪呢。
探索到此已经是我目前能力的极限了,没办法,初学不久,水平实在有限。
有哪位大牛,翻来覆去地(X)lfs过n遍的大牛,如果见过这种情况,知道何解,提点一二,不胜感激。祝您牛年 更像一头牛。 |
|