linux下安装lua问题

          前几天在linux下编译安装lua时遇到了一些问题,由于第一次安装上网搜了各种方法,可都没有很好的解决,最后弄了一个多小时才安装成功。

所以在此把我遇到的问题和对应的解决方案记录一下,希望可以帮到和我一样问题的同学们,下面开始写安装步骤。


首先去lua官网上下载版本http://www.lua.org/download.html比如我的版本lua-5.2.3.tar.gz

然后在linux终端下解压文件:tar -xzvf  lua-5.2.3.tar.gz

这时生产一个lua-5.2.3目录 进入此目录下 然后可以先输入make  会出现下面这段话

Please do
make PLATFORM
where PLATFORM is one of these:
aix ansi bsd freebsd generic linux macosx mingw posix solaris
See INSTALL for complete instructions.

这是提示支持哪些平台,由于我们是linux 这时就可以运行make linux install,此刻如果没有提示错误的话 表面人品太好  这时你可以输入lua命令看是否安装上 

如果不行或者提示关于readline相关的问题,就表明还需要安装readline,

下载地址

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

然后tar -zxvf readline-6.2.tar.gz

cd readline-6.2

此时需要更改configure文件里面这句:ac_default_prefix=/usr/local/readline

然后./configure

最后make && make installl


最后在回到lua-5.2.3目录 运行make linux install  如果此时报了一下相关错误

/usr/lib/libreadline.so: undefined reference to `PC'
/usr/lib/libreadline.so: undefined reference to `tgetflag'
/usr/lib/ibreadline.so: undefined reference to `tgetent'
由于lua依赖readline库,而readline依赖ncuress库,此时需要进入src目录下修改Makefile文件:
 $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"

如果报相关找不到-lncurses的错误,说明需要安装ncurses:

http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz,

tar -xvf ncurses-5.7.tar.gz,然后cd ncurses-5.7

./configure,make,make install,再运行make linux

然后在回头运行lua下的make linux install  此刻应该好了

最后测试lua命令看是否安装好,很可能依然会出现readline的错误,这时:

需要修改lua src/Makefile文件中的
MYCFLAGS=-I/usr/local/readline/include
MYLDFLAGS=-L/usr/local/readline/lib
之后直接执行lua命令,还会出现加载不了readline.so的问题

这时需要查看usr/lib下是否有libreadline.so文件如果有查看是否是最新的 可以ll查看软连接  如果不是最新可以删除 然后需要把usr/local/readline/lib下libreadline.so.6.2文件拷贝到此目录下,然后输入ln -s libreadline.so.6.2 libreadline.so

最后回到usr/local/readline/lib下输入软连接命令:

ln -s /usr/lib/libreadline.so libreadline.so
ln -s /usr/lib/libreadline.so libreadline.so.6


最最后在输入lua命令  此刻应该就可以安装成功了!!!!!!




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值