我在虚拟机里运行编译好的程序时,终端报了个这样的错误:
./程序名: error while loading shared libraries: __kernel_gettimeofday: invalid mode for dlopen(): invalid argument
这是哪个库的问题吗,我在原来的主机里运行没有问题,虚拟机是布在阿里云上的
大概率是glibc库版本不一致的问题
我以前弄过,安装qtcreator高版本,他依赖的glibc版本高,这时就会有问题,你需要在你虚拟机里提升glibc;或者你的程序编译用麒麟里的环境;还有就是升级麒麟里的glibc版本,不过这个最好在线升级,一些lib还是有相关依赖的,麒麟系统很烦的
下面是我找的一些链接
https://www.linuxquestions.org/questions/linux-general-1/glibc-backward-compatibility-4175445005/
https://stackoverflow.com/questions/40932215/error-while-using-a-newer-version-of-glibc
这个报错信息大概是:有一个内核中调取时间的函数在某个动态链接库中,通过dlopen打开的时候出现了无效的调用模式。你可以对比一下你主机和虚拟机环境的区别。这点信息太少了,这个动态链接库都不知道时你自己写的还是系统的,dlopen函数是打开动态库,打开的方式是什么也不知道