Upgrade gnugk from 4.7 to 4.9 on ubuntu 16.04.4(LTS)

背景

我之前使用了gnugk 来解决和h323 穿透NAT问题,可以参考这篇【历史博客】

今天看到gnugk 已经更新到了4.9了,fix 了不少BUG ,而我目前还是用的4.7。

操作系统已经升级到了16.04.04 ,怕有模组或者组件缺失,还是先找vagrant 起了台默认安装的ubuntu 16.04.04 计算机测试下。

找找依赖的模组

首先解压gnugk 4.9 的已经在ubuntu平台上编译好的二进制包,找到Bin 目录下的gnugk 和addpasswd 两个二进制文件,然后ldd gnugk -v

发现有两个动态链接库缺失。

libssh.so.4
librabbitmq.so.1

# on ubuntu 16.04.04 

ubuntu@labmanager1:/lib/x86_64-linux-gnu$ apt-file search libssh.so.4
libssh-4: /usr/lib/x86_64-linux-gnu/libssh.so.4
libssh-4: /usr/lib/x86_64-linux-gnu/libssh.so.4.4.1

# 在16.04.04 上面librabbitmq.so 版本为librabbitmq.so.4

ubuntu@labmanager1:/lib/x86_64-linux-gnu$ apt-file search librabbitmq.so.1
ubuntu@labmanager1:/lib/x86_64-linux-gnu$ apt-file search librabbitmq.so
librabbitmq-dev: /usr/lib/x86_64-linux-gnu/librabbitmq.so
librabbitmq4: /usr/lib/x86_64-linux-gnu/librabbitmq.so.4
librabbitmq4: /usr/lib/x86_64-linux-gnu/librabbitmq.so.4.1.3
ubuntu@labmanager1:/lib/x86_64-linux-gnu$

# 安装libssh-4 和librabbitmq4
sudo apt-get install libssh-4 librabbitmq4 -y

解决librabbitmq.so.1找不到问题

可能gnugk 在14.04中进行的编译,所以librabbitmq.so 的版本引用的为1 ,但是16.04.04上面只能安装librabbitmq4

所以我尝试把librabbitmg4 链接成librabbitmq.so.1 试试看程序是否能正常运行。

 sudo ln -s /usr/lib/x86_64-linux-gnu/librabbitmq.so.4.1.3 /usr/lib/x86_64-linux-gnu/librabbitmq.so.1

OK ,现在依赖都已经解决。更新很简单,替换gnugk 和addpasswd 两个文件,然后重启服务。

为了确认没有其他异常,你可以跟下/var/log/gnugk.log 看看是否有什么异常。