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 两个二进制文件,然后@H_301_13@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 看看是否有什么异常。