Linux从头开始,Glibc-2.16犯错误



我一直密切关注"Linux从无开始"7.2版的命令,像往常一样,一切都很好,直到我到达6.9章,问题是当我试图通过'make'命令安装glibc时,它会向我抛出以下错误。

/bin/sh: command substitution: line 3: syntax error near unexpected token `)'
/bin/sh: command substitution: line 3: `/tools/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../i686-pc-linux-gnu/bin/ar t ../sunrpc/librpc_compat_pic.a | sed 's/^compat-//')'
make[1]: *** [/sources/glibc-build/linkobj/libc_pic.a] Error 1
make[1]: Leaving directory `/sources/glibc-2.16.0'
make: *** [all] Error 2

所以我做了一些研究,令人惊讶的是,我并不是独自面对这种类型的问题,但不幸的是,我找不到好的解决方案(每个线程都有不同的一个)。以下是我到目前为止对这个问题所知道的一些情况。

Bash (4.2.36(1)-release)显然不能处理括号,特别是这种类型的语法'$()'
这可能与bash版本有关
其他使用()的命令不能正常工作
因为这是我第一次如此深入linux,我真的不知道我在做什么,该做什么。所以我非常感谢你的帮助。另外,我在某个地方读到,我可以从make过程中删除所有$(),但我不确定如何做到这一点

我使用Ubuntu 12.10来编译LFS,是的,我已经检查了他们的脚本,所有的依赖项都是满意的。这里是env输出和简单的回显检查

TERM=xterm
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin
PWD=/sources/glibc-build
PS1=u:w$ 
SHLVL=1
HOME=/root
_=/tools/bin/env
OLDPWD=/bin
root:/sources/glibc-build# echo $(test)
bash: command substitution: line 38: syntax error near unexpected token `)'
bash: command substitution: line 38: `test)'
root:/sources/glibc-build# echo $test 
test

来源:http://www.linuxfromscratch.org/lfs/view/stable/index.html

好吧,所以为了修复这个问题,我不得不重新构建整个LFS系统,但这一次,正如上面提到的bison和yacc安装在我的主机上,所以如果你遇到类似的问题,我只是简单地执行下面的命令,这应该做的技巧。

sudo apt-get update && apt-get install bison*

最新更新