一、概述
docker镜像在Ubuntu中正常运行CentOS却无法运行,属实太意外了特意记录一下。
错误信息是依赖问题,程序调用依赖Qt5的dll,启动时提示缺失文件或依赖。取消引用正常运行后进入容器检查所有依赖文件都是存在的,ldd查看依赖发现缺失libQt5Core.so.5依赖。网上游了几圈发现.note.ABI-tag
.note.ABI-tag
用于声明ELF映像的预期运行时ABI。它可能包括操作系统、名称及其运行时版本。
二、查看.note.ABI-tag
objdump显示二进制可执行目标文件的附加信息
objdump -s -j .note.ABI-tag libQt5Core.so.5
三、去掉.note.ABI-tag
strip命令的功能是用于从文件中去除指定符号或调试信息,可以针对一般文件与函数库文件进行操作,能够减少文件占用空间大小
strip --remove-section=.note.ABI-tag libQt5Core.so.5
Comments NOTHING