Crosstool-ng 1.19.0,使用eglibc产生错误

时间:2014-06-30 16:20:11

标签: gcc raspberry-pi cross-compiling crosstool-ng

我正在尝试为我的覆盆子pi交叉编译构建crosstool-ng但是我遇到了一些问题。我在尝试构建crosstool版本1.19.0时遇到以下错误:

[CFG  ]    checking for arm-unknown-linux-gnueabi-gcc... (cached) arm-unknown-linux-gnueabi-gcc    
[CFG  ]    checking version of arm-unknown-linux-gnueabi-gcc    ... 4.8.2, ok
[CFG  ]    checking for gnumake... no
[CFG  ]    checking for gmake... no
[CFG  ]    checking for make... make
[CFG  ]    checking version of make... 4.0, bad
[CFG  ]    checking for gnumsgfmt... no
[CFG  ]    checking for gmsgfmt... no
[CFG  ]    checking for msgfmt... msgfmt
[CFG  ]    checking version of msgfmt... 0.19.1, ok
[CFG  ]    checking for makeinfo... makeinfo
[CFG  ]    checking version of makeinfo... 5.2, ok
[CFG  ]    checking for sed... sed
[CFG  ]    checking version of sed... 4.2.2, ok
[CFG  ]    checking for gawk... gawk
[CFG  ]    checking version of gawk... 4.1.1, ok
[CFG  ]    checking for arm-unknown-linux-gnueabi-nm... arm-unknown-linux-gnueabi-nm
[CFG  ]    checking for autoconf... autoconf
[CFG  ]    checking whether autoconf works... no
[ERROR]    configure: error: 
[CFG  ]    *** These critical programs are missing or too old: make
[CFG  ]    *** Check the INSTALL file for required versions.
[ERROR]  
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing C library headers & start files'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_libc_backend_once[scripts/build/libc/glibc-eglibc.sh-common@347]
[ERROR]  >>        called from: do_libc_backend[scripts/build/libc/glibc-eglibc.sh-common@143]
[ERROR]  >>        called from: do_libc_start_files[scripts/build/libc/glibc-eglibc.sh-common@60]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@632]

根据这个网站:http://colocsbar.blogspot.fr/2014/01/crosstool-ng-1190-et-make-40.html 我必须修补eglibc配置脚本。但是我找不到它是哪一个,我试图修复我在crosstool文件夹中找到的每个glibc脚本,但每次修补都失败了。 有没有人有解决方法摆脱这个错误?谢谢

2 个答案:

答案 0 :(得分:3)

嗯,这有点晚了,但我遇到了同样的问题,信息很少。它似乎是eglibc中的短视版本限制。 INSTALL文件说3.79或更新,但实际配置检查3.79和3.89(我认为,不确定使用的模式匹配语法),否则失败。该链接上有一个.patch文件,但我无法找到有关该文件的信息。

所以我grep了ac_prog_version=的整个目录,它提供了大量的点击,但eglibc的配置就在那里。

我更改的文件是:.build/src/eglibc-2_13/configure

大概在5000左右;取决于您的版本。我将其更改为4.1,因为那是我的make版本(补丁版本为4.0 - 虽然它应该真正使它成为3.79或更新,如INSTALL文件所示)。

答案 1 :(得分:1)

请允许我指出eglibc不再开发,建议您使用glibc代替。在尝试为Raspberry Pi构建工具链时,我遇到了与eglibc相关的问题。 eglibc可以很快从crosstools-ng中删除。请参阅此问题:https://github.com/crosstool-ng/crosstool-ng/issues/8