共享库未定义符号

Shared Library undefined symbol

存在类似标题问题,但不是同一个问题。 我有两台机器,一台装有 CentOS 7.3.1611,另一台装有类似于 CentOS 的机器,你可以说 custom RedHat .
我有一个 SDK,我需要在自定义机器上 运行 但它没有 yum gcc.
所以我不得不在 CentOS 上编译和安装 SDK,之后我将结果复制到自定义机器(共享库、脚本、二进制文件......)以便 运行 它们在那里。
当然,SDK 在 CentOS 上运行良好,但在自定义机器上加载一些驱动程序和其他库时正常,加载特定库时出现错误,如下所示:

dlopen (libsdkpolicerlib.so) failed: (/usr/local/bin/../lib/libsdkpolicer.so.1: undefined symbol: policer_validate_packet_type)

注意这里涉及三个共享 object:

所有共享 object 都在同一目录中 /usr/local/lib .
libpolicercomlib.so 实际上包含符号 。

我有:

我知道这不是执行此类操作的最佳方法,但此解决方案是临时的。

我的问题是我还需要验证什么才能使其正常工作?
我在这里错过了什么?

你可以用ldd命令查看/lib/libsdkpolicer.so.1,也许你复制的libpolicercomlib.so文件只是一个link文件,不用yum在你的机器上查看海湾合作委员会。如果一切正常,你可以将/lib64/ld-linux-x86-64.so.2 loader从你的complie机器复制到你的新机器(之前备份)并尝试。