linux安装lua相关编译报错

一、报之类的错误html

 

/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'

 

 

 

解决: linux

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

linux:lua

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


二、报cannot find -lncurses unix

解决:
code

须要安装

ncurses 

yum install ncurses-devel
 
三、报 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.
相关文章
相关标签/搜索