作者zxvc (zxvc)
看板LinuxDev
标题Re: [问题] 手动安装gcc 发生 no such file,但改뤠…
时间Fri Mar 30 15:18:46 2007
※ 引述《FFz (澎湖.仙人掌.234)》之铭言:
: : → aprotoss:能不能将你的下的configure参数跟安装套件的顺序列出呢.. 03/29 14:01
: : → aprotoss:有时会是你的套件安装顺序跟configure参数的问题 03/29 14:02
: : → aprotoss:一开始以为你是安装一般的档案,如果是toolchain,步骤上 03/29 14:04
: : → aprotoss:会跟一般的差有点多...真的很有挑战性 03/29 14:05
: 回 aprotoss大
: 我安装套件的顺序是
: binutils-2.16.1.tar.gz,其configure的参数如下
: ../binutils-2.16.1/configure --target=arm-elf --prefix=/foo
接下来的步骤好像不是这样.
建议你先看过这一篇build toolchain的教学:
http://www.schnozzle.org/~coldwell/toolchain/
: 接着安装gcc-3.3.6.tar.gz,其configure的参数如下
: ../gcc-3.3.6/configure --target=arm-elf --prefix=/foo
: --enable-languages=c,c++ --with-newlibCI.jpg
这是因为gcc似乎是去/foo/arm-elf/usr/include/找C语言的表头档,
而不是去/usr/include/找.
(请参考gcc原始码资料夹底下的INSTALL/configure.html)
所以你好像要必须先装上glibc的headers,也就是上面教学的这一段:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Glibc headers
This step installs the header files that come with glibc. Two of them are
generated during the glibc build, which we don't do until later on.
Fortunately, it is sufficient to substitute empty files.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
但是你用的是newlib,这我就不是很清楚了,
不过我猜你应该可以用类似的手法安装newlib的headers.
另外还有一个问题就是你在编译gcc之前应该要下载Linux的kernel source.
请去这里下载:
http://www.kernel.org
另外在安装glibc的时後一定要三思这个指令:
make install_root=${SYSROOT} install
如果不小心输入成make install,恭喜你,你的作业系统挂了,
你把For ARM的glibc灌到For x86的机器上了 XD
不过还有挽旧的机会,就是用别台机器抓libc6与libc6 headers for x86的package,
然後解压缩,复制到挂掉的Linux的根目录.
例如Ubuntu可以去这里找到libc6与libc6-dev这两个套件:
ftp://ftp.cse.yzu.edu.tw/ubuntu/pool/main/g/glibc
然後用ar x解开deb,tar zxf解开tar.gz.
我照着"Building a GNU/Linux ARM Toolchain (from scratch)"的教学
成功build binutils,gcc,glibc,只不过没有机器可以试.
我是几乎是完全照上面的方法去做,连程式的版本,patch都一样.
但这样编过一次後,让我学到不少东西(不过我还没有能力去自己找patch,
甚至自己写patch).另外我在make glibc时有遇到一个上面教学文件没提到的bug,
就是好像在编译version.h的时後gcc抱怨version.h语法错误,
我用vim编辑器改了一下就可以继续make了.
建议要编toolchain之前要多看gcc的安装说明,
gcc,binutils最好也要有使用的经验,也要懂一点C语言.
make指令也最好学一学.
gcc,binutils,make它们的说明文件都可以在GNU的网站找到.
最好也要懂一些计算机组织的观念(也就是指令集意义的部份).
不是我罗唆,编toolchain真的就这麽罗唆.
以上是我编toolchain的经验.
欢迎大家分享不错的Build toolchain的教学.
: : 推 yhuiyang:挑战一:如何在没有compiler时,compile出compiler 03/29 23:15
: 回 yhuiyang大
: 我安装系统时就有安装上gcc了
: 只是教授给的work要另外装一个
: 所以又装了另一个gcc在自订的位置上
: 也就是现在要装的 gcc-3.3.6 装在 /foo 上
--
Albert Einstein :
If there is any religion that could cope with modern scientific needs it
would be Buddhism.
《金刚经》一切有为法 如梦幻泡影 如露亦如电 应作如是观
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.200.121
※ 编辑: zxvc 来自: 140.115.200.121 (03/30 15:54)
※ 编辑: zxvc 来自: 140.115.200.121 (03/30 16:00)
1F:推 tseng1129:真的很麻烦吗??? 为何不试试看crosstool呢? 03/31 11:59
3F:→ tseng1129:里面的资料比任何说明文件齐全 只少不用去找gcc 03/31 12:01
4F:→ tseng1129:, binutils跟 libg 的配对关系.. 03/31 12:03
5F:→ tseng1129:是glibc的配对... 03/31 12:04