我有兩個系統,都運行 Debian Jessie 8.4,並且都安裝了 open-vm-tools。文件兩面相同。然而,一方面 vmtoolsd 連結到舊的 libicu,儘管檔案是相同的,這給了我:
vmtoolsd: error while loading shared libraries: libicui18n.so.44: cannot open shared object file: No such file or directory
以下是故障伺服器上的 ldd 輸出:
root@asterisk:/usr/lib/x86_64-linux-gnu# ldd /usr/bin/vmtoolsd
linux-vdso.so.1 (0x00007ffec070c000)
libvmtools.so.0 => /usr/local/lib/libvmtools.so.0 (0x00007fed5ba5e000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fed5b85a000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fed5b607000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fed5b405000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fed5b0f6000)
libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007fed5ace4000)
libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007fed5a966000)
libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007fed590f9000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fed58dee000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fed58aed000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fed588d7000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fed586ba000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fed5830f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fed58107000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fed57ed0000)
libicui18n.so.44 => not found
libicuuc.so.44 => not found
libicudata.so.44 => not found
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fed57ccc000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fed57ac4000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fed57856000)
/lib64/ld-linux-x86-64.so.2 (0x00007fed5bced000)
僅在這個系統上,它不僅連結到 libicui18n.so.52,還連結到 libicui18n.so.44 ?!?!其他系統沒有奇怪的依賴性。我已經重新安裝了 libicu52 和 open-vm-tools。在伺服器上的任何位置都找不到檔案 libicui18n.so.4。
這種行為的原因可能是什麼?
答案1
您所看到的/usr/local/lib/libvmtools.so.0
可能是在 Debian 6(有libicu44
)上完成的建置的殘餘部分。如果您將其重命名,您vmtoolsd
應該可以正確找到它的庫。