我一直在密切关注“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
答案 0 :(得分:1)
好的,为了修复这个问题,我不得不重新重建整个LFS系统,但这次如上所述,在我的主机上安装了bison和yacc,所以如果你遇到类似的问题,我只需执行以下命令即可应该做的伎俩。
sudo apt-get update && apt-get install bison*