rsync,符号未解析但找到了库


0

在嵌入式系统中,我无法运行rsync:

$ rsync 
/usr/bin/rsync: symbol 'poptHelpOptions': can't resolve symbol
/usr/bin/rsync: symbol '_poptBitsN': can't resolve symbol
/usr/bin/rsync: symbol '_poptArgMask': can't resolve symbol
/usr/bin/rsync: symbol '_poptBitsK': can't resolve symbol
/usr/bin/rsync: symbol '_poptBitsM': can't resolve symbol
/usr/bin/rsync: symbol 'poptAliasOptions': can't resolve symbol
/usr/bin/rsync: symbol 'poptHelpOptionsI18N': can't resolve symbol

但似乎找到了依赖关系:

$ ldd /usr/bin/rsync 
    libz.so.1 => /usr/lib/libz.so.1 (0x76f36000)
    libpopt.so.0 => /usr/lib/libpopt.so.0 (0x76f1b000)
    libc.so.1 => /lib/libc.so.1 (0x76ea2000)
    libc.so.6 => /usr/lib/libc.so.6 (0x76d61000)
    ld-linux-armhf.so.3 => /lib/ld-linux-armhf.so.3 (0x76d30000)
    ld-uClibc.so.1 => /lib/ld-uClibc.so.0 (0x76f57000)

还有其他可能导致这些错误的东西吗? 这是armv7l上的Buildroot环境(内核4.4.8-v7)。


1
不是给定的所有变体 .so 具有所有相同的功能。也许是更新版本或不同版本 libpopt.so (缺少函数可能存在的库)是必要的。
Ouroborus

1
你让我走上了正确的轨道。我仔细检查了popt库,发现目标上安装的实际lib与交叉编译环境中的lib不同。复制最近的一个(我猜上一次构建)修复了问题。
Mark
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.