![对 __b64_ntop 未定义的引用:centOS 上的 tmux 编译错误](https://linux22.com/image/1427884/%E5%AF%B9%20__b64_ntop%20%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E5%BC%95%E7%94%A8%EF%BC%9AcentOS%20%E4%B8%8A%E7%9A%84%20tmux%20%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF.png)
我有 tmuxhttp://tmux.sourceforge.net/并且我仔细阅读了 README,安装了所有依赖项(libevent、ncurses-dev……)。但是当我运行“make”命令时,它显示了如下错误:
.../tty.c:1067:对“__b64_ntop”未定义引用
我应该怎么办?
答案1
打开Makefile
,找到这一行:
LIBS = -lutil -lcurses -levent -lrt
将其更改为:
LIBS = -lutil -lcurses -levent -lrt -lresolv
它会起作用。缺少会libresolv
导致您的错误,没有e
拖尾单词,不是resolve
。
当你启动 tmux 时,如果存在如下错误:
tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
您需要一个软链接:
sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/
答案2
编辑LIBS=
顶层的行Makefile
,-lresolve
在末尾添加,然后make
再次运行。
这在 CentOS 6 系统上对我有用(按照建议后这里从源代码安装较新的版本libevent
)。
来源:http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1696