加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 编译Lua时“找不到-lreadline”错误

发布时间:2020-12-14 01:25:04 所属栏目:Linux 来源:网络整理
导读:这应该是一个非常简单的问题 – 我正在尝试在CentOS Linux安装上编译Lua(或者更确切地说是lua-vec,这是一个小变体),我收到以下错误: [jt@flyboy src]#make linuxmake all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"mak
这应该是一个非常简单的问题 – 我正在尝试在CentOS Linux安装上编译Lua(或者更确切地说是lua-vec,这是一个小变体),我收到以下错误:

[jt@flyboy src]#make linux
make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
make[1]: Entering directory `/jt/flyboy/fly/lua/lua-vec/src'
gcc -o lua  lua.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses
/usr/bin/ld: cannot find -lreadline
collect2: ld returned 1 exit status
make[1]: *** [lua] Error 1

这表明没有安装readline lib.但…

[jt@flyboy src]#ls /usr/lib/libreadline*
/usr/lib/libreadline.so.5  /usr/lib/libreadline.so.5.1

有趣的是,如果我重新排列readline / history / ncurses的顺序,那么首先触发相同的错误,所以我怀疑这是某种文件夹规范问题,而不是缺少库问题.

有任何想法吗?

yum install readline-devel.x86_64 readline-devel.i386 ncurses-devel.i386 ncurses-devel.x86_64

似乎已经成功了!奇怪的是我之前没有这些文件编译过这个…但是有足够的时间思考生活的神秘……

解决方法

libreadline是不够的,它会给你与readline相关的库.你需要libreadline-dev来编译包,它依赖于readline,如上例所示.

在像发行版这样的Red Hat中,包的名称是readline-devel

以下命令将在这样的环境中完成:

$yum install -y readline-devel

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读