程序员的自我修养——保持专注,不断学习

最近遇到一个难题,我在别人的docker环境里面运行的软件OK,我想要移到自己的linux环境上运行。

结果死活程序运行不成功,关键我的2个环境都报错,都运行不成功。

很纳闷,为什么别的环境可以运行,同样的软件拷到我的环境上就报错。

报错的错误有点难看,就是程序main函数还没进入,也不是缺少依赖的so, 问了系统的同学说so可能损坏。

so损坏有点蹊跷,明明我是拷贝过来的so啊,怎么可能拷贝还有问题?

搞了好长时间,我尝试着冷静下来,想着有突破,我想到是不是我的so里面有软链接文件?我简单看了下文件,根本不是软链接文件,文件大小和真实的文件一样。

哎,想到的这一点,又发现跟真实文件一样大小,简直挫败。

又去问我们的大神,说有可能你软件是在docker环境里面编的,编译软件的环境跟你自己的linux运行环境系统不一样。

我想想也对,环境不一样,高版本系统编译的软件可能不能在低版本系统上运行。

但是我前面说了我在两个环境上试过,其中一个环境是低版本系统,但另外一个环境确实是同版本系统。

我想着到现在的话,要不重新在同版本系统上试试。

一试发现。我有个文件使用的是链接文件,且链接的目标文件不存在。但是执行程序的时候却是没有报找不到so的错误。尴尬,其实一开始我想到可能是链接文件的问题,但文件太多,可能一下子又急于求成,因此就没那么细心。

 

一块石头落地,搞了两天的问题终于有所眉目。

后面听见有人在面试,面试C++的语法,lamda表达式之类的&#


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部