提醒:本文最后更新于 2850 天前,文中所描述的信息可能已发生改变,请仔细核实。
第一次遇到,最重要的是其实我所有编译,都自己写成脚本了。每次都没问题,这次突然就来了问题。
具体显示:
... /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 ...
configure配置时,添加LDFLAGS="-lncurses"
就好了。
不过搞完还遇到另外一个程序编译时提示
/usr/lib/libncurses.a: could not read symbols: Bad value
解决办法是在编译Ncurses时,configure配置添加--with-shared --enable-widec --without-debug
还不行,就在现在要编译的程序添加--enable-m4_pattern_allow
出现这个问题的主要原因据说是编译器选择x86和x86_64的问题。
当然了,可能这样做了还不行,直接干掉/usr/lib/libncurses.a也就可以了。简单粗暴。
这是浑身给我找麻烦。不知为什么会这样,只能见招拆招了。
转载请注明转自:kn007的个人博客的《解决编译时出现libreadline.so: undefined reference to XX》
经常出错是好事
涨记性 涨技术 涨技能
@World: 这篇也是定时文章,昨天搞rc.local,才叫搞死。回头有文章
@kn007: 操作需谨慎 前两天微信你的那个 可以留心一下 上上个星期买了个极路由,想折腾来着,到现在都还没拆封
@World: 那个一直都有的啊,你用vps发信,肯定会有ip,直接ping我的网址也是我的ip。
他那个指的是用cdn的,不要暴露自己的ip。
穷逼用不起全站cdn。无所谓了
@kn007: 还有一个方法 全站html 哈哈
@kn007: 说错 全站html跟服务器受攻击没啥关系
@World: 我不怕CC,我全站内存。。。我怕大型DDOS。。。普通的也不怕。
@kn007: 你的nginx是集成包还是独立编译的? 好像你之前的文章里面说是集成的环境
@World: 我之前文章?我一直都是编译的。除了postfix、fail2ban这些小包
@kn007: 有一篇你发你的系统环境的 ,我以为是集成,在编译nginx,成功了就可以把hexo部署到VPS
@World: 我从来没yum install nginx php mysql等过,囧。我列出的那些基本都是编译成的。
你再说什么啊?
@从良未遂: 我什么都没说
总结的非常好啊 你的博客非常好,我也推荐一下我的博客。希望有机会一起进步。