UOS中因为libpthread.so库导致的段错误

背景

最近在做UOS的客户端开发。我的开发环境是UOS 1022的,打了一个deb给客户。但是客户的环境是UOS 1021。

根据客户的反馈,这个包安装后打不开。进一步了解后,程序启动后会出现segmentation fault (段错误)。

这个安装包在UOS 1022是可以正常使用的,为什么在UOS 1021上就异常了呢。

解决:

我将程序的依赖库,用二分法删除,发现只要删除依赖目录中的 libpthread.so ,程序就可以正常启动了。

我对比了UOS 1022和UOS 1021 的libpthread.so,版本都是一样的,是2.28,而且文件大小也一样,只有md5值不一样。

总结:

我又另外试验了UOS SP1,也有同样的问题:1022的libpthread.so 在UOS SP1中使用也会出现segmentation 段错误

看来这个库在不同的UOS是不一样的。

当然解决方法也很简单:我们在打包时,不把libpthread.so的放入deb包就可以了。

你可能感兴趣的:(UOS,麒麟相关,UOS,1022,UOS,1021,segmentation,段错误,fault)