ITPub博客

首页 > 数据库 > NoSQL > Lua安装及遇到的问题

Lua安装及遇到的问题

原创 NoSQL 作者:yanke_shanghai 时间:2016-02-26 15:13:24 0 删除 编辑


一、安装readline

wget -c ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz 

tar -zxvf readline-6.2.tar.gz 

cd readline-6.2
./configure 
make && make installl

二、 安装lua

进入官方站点(http://www.lua.org/download.html )下载最新的安装包。

wget -c http://www.lua.org/ftp/lua-5.2.0.tar.gz 

tar zxvf lua-5.2.0.tar.gz 
cd lua-5.2.0

make linux

make install


遇到问题:
make[1]: Entering directory `/root/software/lua-5.2.3/src'
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: Entering directory `/root/software/lua-5.2.3/src'
gcc -o lua  lua.o liblua.a -lm -Wl,-E -ldl -lreadline 
/usr/local/lib/libreadline.so: undefined reference to `PC'
/usr/local/lib/libreadline.so: undefined reference to `tgetflag'
/usr/local/lib/libreadline.so: undefined reference to `tgetent'
/usr/local/lib/libreadline.so: undefined reference to `UP'
/usr/local/lib/libreadline.so: undefined reference to `tputs'
/usr/local/lib/libreadline.so: undefined reference to `tgoto'
/usr/local/lib/libreadline.so: undefined reference to `tgetnum'
/usr/local/lib/libreadline.so: undefined reference to `BC'
/usr/local/lib/libreadline.so: undefined reference to `tgetstr'
collect2: ld returned 1 exit status
make[2]: *** [lua] Error 1
make[2]: Leaving directory `/root/software/lua-5.2.3/src'
make[1]: *** [linux] Error 2
make[1]: Leaving directory `/root/software/lua-5.2.3/src'
make: *** [linux] Error 2

这是因为lua编译依赖readline库,readline库依赖ncurses库,但没有指定,就会出现“未定义的符合引用”错误。

解决方案是修改${LUA_DIR}/src/Makefile中linux编译target=linux,在SYSLIBS变量中追加‘-lncurses’选项即可。如下:

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


重新执行如果还不行,查看是否安装了ncurses库:/usr/lib目录下

没有的话,进行安装:apt-get install libncurses5-dev


再次执行,没有错误



补充:继续遇到问题


查看一下lua依赖的库

在usr/local/lib下查看下是否存在

存在的,那怎么就没生效呢?解决方法如下:

把libgsmd.so.0 所在lib位置加入到/etc/ld.so.conf文件当中
只要在/etc/ld.so.conf中加入/usr/local/lib这一行,就可以解決此问题,不仅仅是对于libreadline.so.5,大部分的so都存在

这/usr/local/lib这个目录里面。
最后将/etc/ld.so.conf保存后,还要执行ldconfig 才会使更改生效



有任何问题或技术上的交流探讨,欢迎加我微信:yk2953


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30316686/viewspace-1995163/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: FTP配置说明
请登录后发表评论 登录
全部评论

注册时间:2015-06-30

  • 博文量
    65
  • 访问量
    341269