Linux环境报错原因、解决方法记录(逐步总结) 1:/bin/sh: lex: command not found
make[1]: Leaving directory `/home/ksj/testCUnit/ltp-full-20081130/lib"
make[1]: Entering directory `/home/ksj/testCUnit/ltp-full-20081130/pan"
lex -l -w -t scan.l > scan.c
/bin/sh: lex: command not found
解决方法:下载flex apt-get install flex
http://www.gnu.org/software/flex/
或者在http://flex.sourceforge.net/ 上下载
2:
编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和flex。
yacc是一个文法分析器的生成器,bison即是yacc的GNU版本.Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。
一开始make
错误1:
debian:/home/a/boa-0.94.13/src# make
yacc -d boa_grammar.y
make: yacc: Command not found
make: *** [y.tab.c] Error 127
解决方法:
debian:/home/a/boa-0.94.13/src# apt-get install bison
错误2:
debian:/home/a/boa-0.94.13/src# make
lex boa_lexer.l
make: lex: Command not found
make: *** [lex.yy.c] Error 127
解决方法:
debian:/home/a/boa-0.94.13/src# apt-get install flex
错误3:
debian:/home/a/sss/boa-0.94.13/src# make
gcc -g -O2 -pipe -Wall -I. -c -o util.o util.c
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
make: *** [util.o] Error 1
解决方法:
修改 src/compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
然后
debian:/home/a/sss/boa-0.94.13/src# make clean
debian:/home/a/sss/boa-0.94.13/src# make
出现:
debian:/home/a/sss/boa-0.94.13/src# make
make: Nothing to be done for `all".
说明make没有检查到需要编译的东西,库或者应用程序已经编译好了。
make主要检查的是时间戳,只要target比依赖的文件时间靠后它就认为不需要编译。SecureCRT连接到Ubuntu 11.10 中文显示乱码通过sysstat监控Linux各项参数相关资讯 Linux命令
- 48 字节命令可令 Linux 系统当机! (今 07:55)
- 在Linux笔记本上执行这句命令能致 (02月02日)
- .NET开发必会的Linux命令 (12/20/2015 10:32:03)
| - 运维工程师必会的109个Linux命令 (03月09日)
- 有趣的Linux命令行:随机输出唐诗 (12/28/2015 20:14:23)
- 10 个 Linux 中的 passwd 命令示例 (10/29/2015 10:14:30)
|
本文评论 查看全部评论 (0)