linux安装lua相关编译报错

Posted 一生不过烟花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux安装lua相关编译报错相关的知识,希望对你有一定的参考价值。

1、报之类的错误

 

/usr/lib/libreadline.so: undefined reference to `PC‘
/usr/lib/libreadline.so: undefined reference to `tgetflag‘
/usr/lib/ibreadline.so: undefined reference to `tgetent‘
/usr/lib/libreadline.so: undefined reference to `UP‘
/usr/lib/libreadline.so: undefined reference to `tputs‘
/usr/lib/libreadline.so: undefined reference to `tgoto‘
/usr/lib/libreadline.so: undefined reference to `tgetnum‘
/usr/lib/libreadline.so: undefined reference to `BC‘

 

 

 

解决: 

由于lua编译依赖readline库,而其依赖ncurses库,但没有指定,所以出现“未定义的符合引用”错误。需要修改${LUA_DIR}/src/Makefile中linux编译target,在SYSLIBS变量中追加‘-lncurses’选项即可。修改后,如下:

linux:

$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"

 

2、报cannot find -lncurses 

解决:

需要安装

ncurses 

yum install ncurses-devel
 
3、报 lua.c:67:31: fatal error: readline/readline.h: No such file or directory
解决:
说明缺少libreadline-dev依赖包

centos: yum install readline-devel
debian: apt-get install libreadline-dev.

以上是关于linux安装lua相关编译报错的主要内容,如果未能解决你的问题,请参考以下文章

我的MAC编译LUA-CJSON模块时报如下错误,求大神解答~~!

ubuntu下lua如何安装

linux ruby 安装报错

LINUX下载编译lua

Nginx编译安装Lua模块

lua报错,看到报错信息有tail call,以为和尾调用有关,于是查了一下相关知识