Linux glibc配置错误:缺少yacc/bison

Linux glibc配置错误:缺少yacc/bison,linux,gcc,glibc,linux-from-scratch,Linux,Gcc,Glibc,Linux From Scratch,我遵循的是第5节的说明,但有一点扭曲:我只遵循第5节的部分内容——构建一个临时系统,以使我能够构建自己的GCC,原因是这是一台工作机器,我没有根权限。一切正常,直到我在配置glibc时遇到错误: configure: error: *** These critical programs are missing or too old: as GNU ld make bison compiler *** Check the INSTALL file for required versions. 经

我遵循的是第5节的说明,但有一点扭曲:我只遵循第5节的部分内容——构建一个临时系统,以使我能够构建自己的GCC,原因是这是一台工作机器,我没有根权限。一切正常,直到我在配置glibc时遇到错误:

configure: error:
*** These critical programs are missing or too old: as GNU ld make bison compiler
*** Check the INSTALL file for required versions.
经过调查,我发现我不满足LFS所需的条件:

/usr/bin/yacc is a symbolic link to bison or a small script that executes bison.

原来在
/usr/bin/yacc
没有这样的文件(尽管
bison
确实存在)。但是,因为我在工作中没有root权限,所以无法在那里创建符号链接。这里有解决办法吗?

当前的glibc版本需要bison程序来构建(而不是yacc)。您可以下载bison源代码并按如下方式构建它们:

wget https://ftp.gnu.org/gnu/bison/bison-3.2.tar.gz
tar xf bison-3.2.tar.gz
cd bison-3.2
./configure --prefix=$HOME/install
make
make install
然后,您可以将
$HOME/install/bin
目录放在命令搜索路径上:

PATH=$HOME/install/bin:$PATH
此时,glibc的
configure
脚本应该选择bison版本


较早版本的glibc(2.27之前)将bison生成的文件作为源代码的一部分提供,因此bison是可选的。显然,您所遵循的说明尚未更新,以反映对野牛的新要求。

请将其安装到路径中的其他位置,然后使用该选项。