gcc - 编译 gcc - 找不到 flex 的输出;放弃

标签 gcc flex-lexer configure

我正在尝试编译 gcc-4.9RCgcc-4.8.2在 Debian(6 或 7)上。

flex 2.5.35安装,我什至编译了我自己的 flex 2.5.39 .

我确认它生成了 yy.c来自简单 .l 的输出文件。

我还在 gcc 文档中了解到,从发行版(gcc-4.8.2 是)编译时不需要 flex。

尽管如此,我总是在一些内部得到这个 configure运行后 make :

checking for bison... bison -y
checking for flex... flex
checking lex output file root... configure: error: cannot find output from flex; giving up
make[2]: *** [configure-stage1-gmp] Error 1
make[2]: Leaving directory `***/gcc-bin-8'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `***/gcc-bin-8'
make: *** [all] Error 2

它配置为:
../gcc-4.8.2/configure --enable-languages=c,c++,fortran --with-cloog --prefix=/home/***/gcc-4.8.2

我不知道我应该多尝试什么。

最佳答案

此错误是在构建 gmp(gcc 的先决条件)时生成的。这是 4.8.3 Ref :gmp bug 中存在的 gmp 中的一个已知错误.如果您运行 contrib/download_prerequisites,默认情况下您将获得 gmp 4.8.3。解决方法是编辑 gmp-4.8.3/configure.in & gmp-4.8.3/configure 并更改
M4=m4-not-required
为了
M4=m4

关于gcc - 编译 gcc - 找不到 flex 的输出;放弃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128949/

相关文章:

CMake 找不到库

c++ - 使用 lex 和 yacc 打印标记

c# - 在 ConfigureServices() 中添加 AddMvc() 服务两次是 Asp.Net Core 中的一个好习惯吗?

android - 使用 Freetype2 为 ARM 构建 FFmpeg

c - 使用宏进行配置

c++ - cygwin : sometimes unix style paths 上的 gcc -MM

用C语言检查二进制文件中特定位置的位值

c++ - Bison 没有使用正确的 yylex 参数

c++ - glGetFloatv 导致堆栈粉碎

c - flex,定义 char